<分区>
我在重载删除的删除调用中遇到堆崩溃。请帮我解决这个问题。
class number {
int *series;
public:
void* operator new(size_t size){
number *n = ::new number;
n->series = new int[size];
printf("new %p %p\n", n, n->series);
return n;
}
void operator delete(void *ptr) {
number *n = (number*)ptr;
printf("delete %p %p\n", n, n->series);
delete (int*)n->series;// why crash here?
::delete n;
}
};
int main() {
number *n= new number;
delete n;
return 0;
}