top()显示,函数调用参数太少

{
Stack<int> mystack;
int sum (0);

for (int i=1;i<=10;i++) mystack.push(i);

while (!mystack.empty())
{
sum += mystack.top();
mystack.pop();
}

cout << "total: " << sum << endl;

return 0;
}

你看下你top的定义
如果我没记错的话 这应该是我答过的一道题的后续吧
印象中top定义是
int top(item_type & v)
类似这样的
也就是你定义的top是返回一个error类型 比如overflow underflow或者no_error之类的
而top值是由参数返回的
所以你要使用top的时候 需要
int v;
mystack.top(v);
sum+=v;
这样的方式
如果要使用sum+=mystack.top()的方式
则需要定义或者重载一个top为
item_type top()的函数来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答