delete 指针后 出现_CrtIsValidHeapPointer断言错误
小弟的代码运行后出现如下断言错误
Microsoft Visual C++ Debug Library
Debug Assertion Failed!
Program:F:\biao\Debug\biao.exe
File:dbgheap.c
Line:1044
Expression:_CrtIsValidHeapPointer(pUserData)
For information on how your program can cause an assertion
failure,see the Visual C++ documant on asserts
(Press Retry to debug the application)
代码大概如下:
int i, packetCount;
PacketAnalyseResult* pResult = NULL; // PacketAnalyseResult 是我自己定义的一个结构;
packetCount = historyBuffer.GetSize(); //historyBuffer 是CPtrArray;
for (i=0; i<packetCount; i++)
{
pResult = (PacketAnalyseResult*)historyBuffer.GetAt(i);
if (pResult != NULL)
{
delete pResult; //如果屏蔽掉这一段就不会出错
pResult =NULL;
}
}
historyBuffer.SetSize(0); // 运行到这里就出错
我查了一下相关的帖子,好像是错误的操作了指针造成的,于是 我把 delete pResult; 屏蔽后 就不会再有断言错误了 ,请牛人帮忙解答一下,谢谢