我的“程序语言”(C ++)存在很大问题。 我想打印一堆字符串。
void show(stack<string> stos) {
while (!stos.empty()) {
cout << stos.pop() << endl;
}
}
答案 0 :(得分:5)
pop()
仅从堆栈中删除顶部元素并将其抛弃。它返回void
(没有),显然你不能用cout
打印它。你需要:
void show(stack<string> stos)
{
while(!stos.empty()) {
cout << stos.top() << endl;
stos.pop();
}
}
答案 1 :(得分:0)
pop
不会返回删除的值。您必须先访问top()
才能获取值,然后调用pop()
来删除它。