在退出程序的时候,出现Assertion,摘要如下:Debug Assertion Failed ;File:dbgheap.c ;Line:1017
编号:QA004472
建立日期: 2001年10月29日 最后修改日期:2001年10月29日
所属类别:
Ice:
操作系统:WIN2K
编程工具:vc++6.0;SQL SERVER
问题:本人在编写多个视图SDI,并且每个视图同数据库的表现对应。问题是,两个视图先后激活之后,在退出程序的时候,出现Assertion,摘要如下:Debug Assertion Failed ;File:dbgheap.c ;Line:1017 ;Expression:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
请问这是什么原因?怎么解决?
回答:
这是由于该程序中使用了非法指针(即没有经过初始化但不等于NULL的指针)。如:
MYSTRUCT* p;
MYSTRUCT newstruct;
*p=newstruct;
主持人注:如果是这个问题,应该先给p分配空间。如:
MYSTRUCT* p = new MYSTRUCT;
MYSTRUCT newstruct;
*p=newstruct;
此问题由yangwen回答。
| |
|
|
| |
|
|