我必須處理幾個函數,這些函數需要作爲參數堆棧的數組。數組的使用堆棧(參數傳遞/返回)
這是例子:
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