我有(整數的)載體的陣列,我想將它傳遞給一個成員函數作爲參考,以便可以對其進行修改。 (它實際上是我的函數的輸出,但我已經有一個返回值。)傳遞載體的陣列作爲函數參數來改變原始值
我寫了這樣的事情
int Dag::dag2array(vector<int> (&aVectors)[4])
{
//some stuff
//calling another function tree2array(aVectors)
//passing the same array as reference
}
它編譯和運行,雖然它看起來沒有做我想要的。
在一個或多或少相反的問題(Passing array of vectors as a function parameter (values will not change))中,答案說該數組可以在沒有&
的情況下進行修改,並且它不會創建副本,但它就像一個指針。
- 爲什麼像一個
int
一個變量需要&
避免 複製,並能夠修改「對飛」,而不是一個數組的原始變量的值? - 我應該使用
&
還是不是在我的情況?
你的問題不清楚。代碼實際上做什麼而不是你想要的? – 2014-10-20 13:47:00
一組向量?這只是邪惡。使用C++或C,而不是兩個! – matsjoyce 2014-10-20 13:54:52
嘗試'矢量>&' –
2014-10-20 13:56:38