0

C++という「プログラム言語」に大きな問題があります。文字列のスタックを印刷したかったのです。

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

2 に答える 2

5

pop()スタックから最上位の要素のみを削除して破棄します。それはvoid(何も)返され、明らかにそれを印刷することはできませんcout。必要なもの:

void show(stack<string> stos)
{
    while(!stos.empty()) {
        cout << stos.top() << endl;
        stos.pop();
    }
}
于 2012-08-19T18:10:35.120 に答える
0

pop削除された値は返しません。最初にアクセスtop()して値を取得し、次に呼び出しpop()てそれを取り除く必要があります。

于 2012-08-19T18:10:31.560 に答える