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

运行delete之后出现HEAP_CORRUPTION_DETECTED错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 小灸舞 2016-08-10 06:07关注
char* pCmd = new char[9];
你这样的写法表示只申请了9个字节的空间,pCmd合法的下标访问区间是0~8
pCmd[9]='1';这样会直接造成越界写入,破坏了堆空间,造成delete出错本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报