-1

スタック型の変数を返す関数を呼び出す方法を見つけようとしています。これは、このアプローチが機能するかどうかを確認するために作成した非常に単純なコード ブロックですが、機能しませんでした。

#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <stack>

stack<int> ReturnStack(stack<int>);

int main () 
{
    stack<int> z;
    stack<int> x;
    z.push(1);
    z.push(2);
    z.push(3);
    x = ReturnStack(z); 
}

stack<int> ReturnStack(stack<int> z)
{
    return z;
}

大量のエラーが発生し、動作を拒否します。ここで何が間違っていますか?スタックを返す何かへの呼び出しを成功させるにはどうすればよいですか? ありがとうございました。

4

1 に答える 1

3

stackstd名前空間にあります。(真の修正ではなく、クイックバンドエイドとして)using std::stack;の宣言の前に置いたReturnStack場合、問題なくコンパイルされます。

于 2012-09-15T01:39:23.037 に答える