-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

stack位于std命名空间中。如果(作为一种快速的创可贴,而不是真正的修复)你using std::stack;在声明之前放置ReturnStack,它编译没有任何问题。

于 2012-09-15T01:39:23.037 回答