对于一个类分配,我需要为我创建的链表对象实现一个析构函数。我创建了一个函数MakeEmpty
,我在析构函数中调用了该函数。它第一次正确编译,但现在我立即崩溃并显示错误消息:
表达式:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
有人可以帮我找出问题所在吗?我运行调试器并指出错误在代码中的位置。
WORD::~WORD()
{
cout << "Destructor Called"<<endl;
(*this).MakeEmpty();
}
这是 MakeEmpty() 函数
void WORD::MakeEmpty()
{
alpha_numeric *p = (*this).front;
if((*this).IsEmpty())
{
cout <<"Already empty"<< endl;
return;
}
while(front != 0)
{
front = front -> next;
delete p;//<<<<---DEBUGGER SAYS ERROR HERE
p = front;
}
return;
}