void change(){
//创建数组
int *m = new int[dimension * dimension];
//为数组赋值
for (int n = 0; n < dimension; n++) {
m[n + 3 * n + 1] = 1;
}
return r;
}
该段方法运行出现以下问题
原因分析:
编译时系统会认为你的(n+3*n+1)会超过dimension*dimension的范围
解决方案:
在赋值前加一个判断(n+3*n+1)大小的条件,即如下图
for (int n = 0; n < dimension; n++) {
if (n + 3 * n + 1 < dimension * dimension - 1) {
m[n + 3 * n + 1] = 1;
}
}
这样就解决了
菜鸟第一次写,如有问题还望大佬指教!