C++ error:Debug Assertion Failed.Expression:_BLOCK_TYPE_IS_VALID(phead->nBlockUse)
2010-02-08 15:40
621 查看
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就可以了。
关于上面这个错误,我在上一篇文章中的程序遇到过了,在网上查了一些资料,有些人说是重复释放内存的原因,他们说得很对,但是有些人会觉得自己的程序并没有重复释放内存,所以在这里我记录一下我的问题,方便以后编程。
假如你申请了两个错针
int *p;
int *q;
如果你将q=p;
在你释放内存的时候,你可能会写
delete p;
delete q;
这样上面的错误就会出来。因为q=p,当释放p时,q已经不存在了,这样就会重复释放了q,
所以只要释入p就可以了。
相关文章推荐
- Debug Assertion Failed.Expression:_BLOCK_TYPE_IS_VALID(phead->nBlockUse)
- [wxWidgets]_[初级]_[Debug Assertion Failure: BLOCK_TYPE_IS_VALID(pHead->nBlockUse) ]
- VS2015+opencv2.4.11报错 Debug Assertion Failed! is_block_type_valid(Header->_block_use)
- [wxWidgets]_[初级]_[Debug Assertion Failure: BLOCK_TYPE_IS_VALID(pHead->nBlockUse) ]
- 误操作:释放栈上空间 Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
- VS调试_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse));崩溃原因及解决方法
- C++ _BLOCK_TYPE_IS_VALID(pHead->nBlockUser) 我的见解
- _BLOCK_TYPE_IS_VALID(pHead->nBlockUse
- C++报错:_BLOCK_TYPE_IS_VALD(pHead->nBlockUse)
- c++ 析构函数的问题,_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
- _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
- 内存报错:_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse))
- Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
- Debug Assertion Failed! _BLOCK_TYPE_IS_VALID(pHead-nBlockUse)
- _BLOCK_TYPE_IS_VALID(pHead->nBlockUse
- 断言_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)问题解析
- _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
- _BLOCK_TYPE_IS_VALID(pHead->nBlockUse问题解析
- 误操作:释放栈上空间 Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
- _BLOCK_TYPE_IS_VALID(pHead->nBlockUse问题解析