回 帖 发 新 帖 刷新版面

主题:[讨论]#damage:after normal block

请各位高手指点~

回复列表 (共1个回复)

沙发

错误源头一,数组访问越界:
大家先看如下一段程序:

 int* a = new int[5];
 a[5] = 3; // 这儿访问越界了
 delete[] a;
在delete[] a;这句代码处将会出现:DAMAGE:After normal block(#93)的错误。

错误源头二:


char* pBuffer = new char[2];
int v = 12345;
memcpy(pBuffer, &v, sizeof(v));
delete[] pBuffer;
正如代码所表示的,我的缓冲区pBuffer有且仅分配了2Bytes的空间,然面我却向它塞了4Bytes的值,显然这是不正确的,DEBUG一下,将出现:DAMAGE:After normal block(#94)的错误。


我也是犯了这个错误 这是我从网上查到的
楼主好好检查一下 看是不是用了没有分配过的内存

我来回复

您尚未登录,请登录后再回复。点此登录或注册