2010-08-27 230 views
0

我有一個類似的功能參數傳遞:填充數組與對象

void foo(obj ary[], int arysize) { 
    for (int i = 0; i < arysize; i++) 
     ary[i] = obj(i, "abc"); 
} 

我這樣稱呼它:

obj array[5]; 
foo(array, 5); 

它應該來填充我的對象數組。但是,它返回時,對象是垃圾。它適用於值類型如int和東西,所以我認爲這與我創建的作爲本地範圍的對象有關,因此在函數返回時它會被銷燬。我希望能夠做到這一點,而不使用new動態分配的對象。我怎樣才能做到這一點?

+0

你的obj類在構造函數中有內存分配嗎? – Kamal 2010-08-27 02:46:09

回答

2

這應該可以正常工作。我會考慮你班上的作業操作員。

+0

哇我多麼愚蠢。賦值運算符正在更改對象的屬性,但不會複製數據。謝謝。 – 2010-08-27 02:46:00