我有這樣的功能:傳遞一個向量作爲參數的功能
void Foo(std::vector<bool> Visited, int actual element);
我實際使用此功能在圖一BFS,但它會在一個無限循環。我懷疑它總是創建訪問矢量的副本。 如何讓它更改在main中某處被聲明和初始化的向量?我對整個「複製」理論是否正確?
如何使用指向對象的指針,因爲我認爲<vector>
是一個對象?
void Foo(std::vector<bool>& Visited, int actual element);
^
現在你可以修改傳遞給Foo
原向量:由參考
是它傳遞一個副本,你可以改變簽名'無效美孚(標準::矢量和訪問, int actual element);'能夠修改函數中的向量。 https://stackoverflow.com/questions/373419/whats-the-difference-between-passing-by-reference-vs-passing-by-value就你的無限循環而言,我們無法在沒有看到代碼的情況下幫助你。 –
CoryKramer