對於我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);
}
Stack<T>::checkElements()
看起來是這樣的:
void checkElements() {
if (first_==NULL || size_==0)
throw range_error("There are no elements in the stack.");
}
堆棧使用用於存儲鏈接的節點,所以first_
是指向第一個節點的指針。
爲什麼我會收到此錯誤?