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