CTrapezia *pCopyTrapezia = NULL;pCopyTrapezia = new CTrapezia(0,0,0,0, this);偶尔这里会出错,出错提示为0x73fdab86处有未经处理的异常:0xC0000005,读取位置0x00e57000时发生访问冲突断点停留在void* __cdecl operator new(size_t nSize, int nType, LPCSTR lpszFileName, int nLine)
{
...
pResult = _malloc_dbg(nSize, nType, lpszFileName, nLine);}
求大神解决

解决方案 »

  1.   

    这是表明内存已经被破坏了,查看之前的代码才能解决,debug 版本的 C++ 的内存分配模块会在分配和释放的时候检查内存是否被破坏
      

  2.   

    在pCopyTrapezia = new CTrapezia(0,0,0,0, this);行上打上断点,验证和之前的this指针的地址一致。这种情况就是堆栈被破坏,最觉见的就是之前使用了底层的C函数访问了NULL指针。这些最底层的函数是不会判断指针是不是NULL的。
      

  3.   

    用到指针特别是New出来的指针一定要做判断!