2010-08-27 190 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