我必须处理几个函数,这些函数需要作为参数堆栈的数组。数组的使用堆栈(参数传递/返回)
这是例子:
using namespace std;
typedef vector<array<array<short,2>,64>> dmat;
typedef stack<array<short,2>> lifo;
typedef array<short,2> array2;
array2 posible(lifo& pila, int j){ // Gets the stack by reference
array2 ret=pila.top();
return ret;
}
的问题是:
- 这是正确的吗?我的意思是,我可以用这种方式分配和返回堆栈中的元素吗?
- 假设我宣布了
dmat sol
,并且我想将堆栈pila复制到vector sol中的第一个元素。它是否正确?sol[0]=lifo;
- 此语法
pila.top()[1]
合法吗?
'array'(你的'lifo')和'array '(你的'array2')之间很可能没有隐式转换。所以,不,这不起作用。但是,那么,如果你试图编译它,你的编译器会向你解释... –
twalberg
2015-03-02 15:33:19