今天练习一个代码出现了Heap corruption detected错误,经过查阅资料,其原因是堆内存溢出(例如 p = new char[10],; char[11] = 'a'; 然后调用delete[] p; 就会报这个错
有时候难以理解的原因是因为,单步调试的时候,会在delete【】p 这句的时候出问题,所以以后使用堆内存一定要多加留心。
unsigned char * pOut = new unsigned char[lengh/2];
Decode(pOut,pData,lengh); //这个函数里面越界使用了 pOutdelete[] pOut;