C++ error:Debug Assertion Failed.Expression:_BLOCK_TYPE_IS_VALID(phead->nBlock)

Debug Assertion Failed.Expression:_BLOCK_TYPE_IS_VALID(phead->nBlockUse)

关于上面这个错误,我在上一篇文章中的程序遇到过了,在网上查了一些资料,有些人说是重复释放内存的原因,他们说得很对,但是有些人会觉得自己的程序并没有重复释放内存,所以在这里我记录一下我的问题,方便以后编程。

 

假如你申请了两个错针

int *p;

int *q;

如果你将q=p;

在你释放内存的时候,你可能会写

delete p;

delete q;

这样上面的错误就会出来。因为q=p,当释放p时,q已经不存在了,这样就会重复释放了q,

所以只要释入p就可以了。

posted on 2014-09-05 10:48  crazylearner  阅读(581)  评论(0编辑  收藏  举报

导航