对于我的compsci类,我正在实现一个Stack模板类,但遇到一个奇怪的错误:
Stack.h: In member function ‘
const T Stack<T>::top() const
[with T = int]’:Stack.cpp:10: error: passing ‘
const Stack<int>
’ as ‘this
’ argument of ‘void Stack<T>::checkElements()
[with T = int]’ discards qualifiers
Stack< T> :: top()看起来像这样:
const T top() const { checkElements(); return (const T)(first_->data); }
堆栈< T> :: checkElements()如下所示:
void checkElements() { if (first_==NULL || size_==0) throw range_error("There are no elements in the stack."); }
堆栈使用链接节点进行存储,因此first_是指向第一个节点的指针.
为什么我得到这个错误?