我不斷收到以下錯誤:錯誤:調用沒有匹配的函數「堆棧:: PEEK()」錯誤:沒有匹配函數調用「堆棧<int> ::皮克()」
我是新到C++,我不知道爲什麼我得到錯誤
這是我的Peek()函數。
int Peek(T data)
{
if(IsEmpty())
return -1;
else
return top -> data;
}
這是我的main()函數。
int main()
{
Stack<int> s1;
cout << "*declare stack s1\ns1=" << s1 << endl; // stack initially set to 0
cout << "s1.Size()=" << s1.Size() << endl;
cout << "s1.IsEmpty()=" << ((s1.IsEmpty()) ? "T" : "F") << endl;
cout << "s1.IsFull()=" << ((s1.IsFull()) ? "T" : "F") << endl;
cout << "s1.Peek()=" << s1.Peek() << endl;
cout << endl;
Stack<char> s4;
for (char c='a'; c<='z'; c++)s4.Push(c);
cout << "s4=" << s4 << endl;
cout << "s4.Size()=" << s4.Size() << endl;
cout << "s4.IsEmpty()=" << ((s4.IsEmpty()) ? "T" : "F") << endl;
cout << "s4.IsFull()=" << ((s4.IsFull()) ? "T" : "F") << endl;
cout << "s4.Peek()=" << s4.Peek() << endl;
}
我得到每當皮克函數被調用主,所以我在想,如果有人可以幫助我這個錯誤。
'Peek'實際上是Stack的方法嗎?看起來你只是定義了一個不相關的功能。 – user2357112
請包含更多的代碼,甚至更好地使用相同的行爲 –