我对名为C ++的“程序语言”有很大的疑问。
我想打印一堆字符串。

void show(stack<string> stos) {
  while (!stos.empty()) {
    cout << stos.pop() << endl;
  }
}

最佳答案

pop()仅从堆栈中删除顶部元素并将其丢弃。它返回void(什么都没有),显然您不能使用cout打印该内容。你需要:

void show(stack<string> stos)
{
    while(!stos.empty()) {
        cout << stos.top() << endl;
        stos.pop();
    }
}

关于c++ - 将字符串放入堆栈C++时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12028766/

10-09 13:34