我想弄清楚如何调用一个返回栈类型变量的函数。这是一个代码非常简单的块我做了,看看这个方法有效,但是事实并非如此:返回栈变量
#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;
}
它抛出了一堆错误,并拒绝工作。我在这里做错了什么?我怎样才能成功地调用返回栈的东西?谢谢。
你知道什么是按价值传递价值吗?去看看它。 – Marcin
你可以发布这个“一堆错误”,所以我们不必自己编译它? (他们抱怨没有找到'stack'?写'std :: stack'而不是'stack')。 –
为什么包含stdio.h和stdlib.h?为什么main没有返回语句(即使编译器自动生成一个)? –