У меня есть функция, подобная этой:
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
.Как я могу это сделать?