我的其余程序工作正常,除非我尝试在main中使用+ =运算符时,它会抛出一个错误。分配4(1643,0x10013c3c0)malloc: *对象0x10020a2c0的错误:指针正在释放没有分配 * 在malloc_error_break中设置断点以进行调试。 任何帮助如何解决它将不胜感激。 这是我的+ =函数的定义:
Student Student::operator+=(string item){
CheckOut(item); //checkout is a member function of the class Student
return *this;
}
这是xcode编译器在说thread1:signal SIGABRT时指出错误的地方。我不知道这个错误意味着什么。
Student::~Student(){
delete [] pointer; //it points error right here
pointer = NULL;
}
答案 0 :(得分:0)
您的操作员功能应该返回对学生的参考:
学生&安培; Student :: operator + =(字符串项){ 退房(项); // checkout是Student返回* this的成员函数; }