链表队列析构函数出现未处理异常
PointQueue::~PointQueue()
{
quenode *p;
p=front->next;
if(p!=rear)
{
front->next=p->next;
delete p;
p=front->next;
}
delete rear;
delete front;
rear=front=NULL;
size=0;
}
这是我做的链表队列PointQueue的析构函数,程序走到if语句第一句front->next=p->next;时出现下面这个错误提示
“XXX.exe中的0x003a1f43处有未经处理的异常:0xC0000005:读取位置0x00000008时发生访问冲突”
之前使用while语句进行删除结点的晚上有说“delete行为触发调用析构函数,完成连锁析构,类似递归,之前调用while循环就错了。”但是不管用if还是while都是一样的错误