以下代码是用 C++ 编写的,但使用了 stdlib.h 中的 realloc,因为我对 std::vector 了解不多。
无论如何,我得到了这个奇怪的运行时错误“”_CrtIsValidHeapPointer(pUserData),dbgheap.c”。
如果您想查看整个方法或代码,请告诉我。
我有 2 个班级,学生和年级。学生包含
char _name[21];
char _id[6];
int _numOfGrades;
int* _grades;
float _avg;
和等级简单地包含
Student* _students;
int _numOfStudents;
而以下工作
_grades = (int *)realloc(_grades,(sizeof(int)*(_numOfGrades+1)));
这将产生奇怪的运行时错误:
_students = (Student *)realloc(_students,(sizeof(Student)*(_numOfStudents+1)));
_grades 和 _students 都是用 new 创建的,完全没有问题。问题仅在于尝试重新分配_students。
欢迎任何意见。