aimuHeart 2016-08-10 04:12 采纳率: 50%
浏览 1742
已采纳

运行delete之后出现HEAP_CORRUPTION_DETECTED错误

VS++代码
char * test = new char[2];   
test[2]='b';
delete []test;
运行delete之后出现HEAP_CORRUPTION_DETECTED错误,有哪位大神指点一二……
  • 写回答

2条回答 默认 最新

  • 小灸舞 2016-08-10 06:07
    关注

    char* pCmd = new char[9];
    你这样的写法表示只申请了9个字节的空间,pCmd合法的下标访问区间是0~8
    pCmd[9]='1';这样会直接造成越界写入,破坏了堆空间,造成delete出错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?