我不擅长英语(我是越南人,所以我的问题可能会有一些语法错误。)
今天,我正在进行编码练习,当我删除二维数组时发现错误。之后,我编写了一个简单的代码进行测试,它有相同的错误!这是我的测试代码:
#include "stdafx.h"
int main()
{
int **test;
int i;
test= new*[3];
for(i=0;i<3;i++)
{
test[i]=new int[1];
test[0][i]=0;
}
for(i=0;i<3;i++)
delete[] test[i];
delete[] test;
return 0;
}
- 当我调试我的代码时,我检测到错误发生在第34行;删除[] test [i];&#34;。出现一个窗口,并告诉我:
- 并在输出窗口中:
&#34; HEAP [test.exe] X处的堆块修改为Y,请求大小超过28&#34;
注意:
知道问题究竟是什么? 谢谢。
答案 0 :(得分:0)
test[0][i]=0;
错误地指出了这些指数 - 应该test[i][0]=0;
与之前的行test[i]
保持一致。
你所有的其他推理都没问题。