我有一个包含string
字段的结构。我创建了一个由这些结构组成的数组,然后我想将它们传递给一个函数(通过引用)。当我注释掉该string
字段时,一切正常,但如果我不这样做,程序就会崩溃。我在任何地方都找不到答案..
这是代码(我将其简化为仅显示问题):
struct student {
int a;
int b;
string name[20];
char status;
};
void operation(student the_arr[1],int number_of_students) {
delete[] the_arr;
the_arr = new student[3];
for(int i = 0; i<3; i++) {
the_arr[i].a = i+5;
the_arr[i].b = i+4;
}
}
int main() {
student *abc;
abc = new student[0];
operation(abc, 0);
system("pause");
return 0;
}
我需要数组是动态的,所以我可以在需要时更改它的大小。