要敢于在实践项目上练习,
我知道了,实例演示二中有 pop函数是: if(stackEmpty()) { return false; } m_iTop--; elem = m_pBuffer[m_iTop]; return true;
template<typename T>
int& MyStack<T>::operator[](int i) {
return m_pBuffer[i];
}
我是这么实现的,但是好像行不通
报错: no match for 'operator[]' (operand types are 'char [17]' and 'MyStack<int>')|
但是我感觉这样可以重载呀
栈内的某一项均为0~15之间的某个数字,而这个数字需要转换为0~F,所以构造了一个存有0~F字符串的数组,让0~15作为下标去访问这个数组,因为0~15本身也是0~F数组的索引
我明白了 elem是一个引用,elem = stack[top];
虽然int elem = 0;但是其实执行代码时elem就是top了。