我目前正在使用以下代码:
student_info **array;
array = new student_info*[size];
for(int i = 0; i < 19; i++)
{
array[i] = new student_info[size];
}
for(int i = 0; i < 19; i++)
{
delete[] array[i];
}
delete[] array;
“student_info”是结构,“array”是类型结构的指针数组。
代码编译;但是,当我尝试访问数组内的项时会导致segfault核心转储。
访问代码:
in_s >> array[i] -> first;
此代码也在for循环中使用new。假设in_s是一个instream对象,首先是结构的一部分。
我的内存分配哪个部分错了? “size”变量是19,但我不确定“size”是否应该在内部数组内存分配中使用。
谢谢!