new matrix[N][N] failure
本问题已经有最佳答案,请猛点这里访问。
我有一个栈溢出,在栈上分配了一个巨大的矩阵(我同意这一点:在那里分配它是愚蠢的),我正在编写下面的代码,因为我想用下标索引mat访问矩阵的元素[x][y]
1 2 | double (*mul1)[N][N]; mul1 = new double[N][N]; |
我收到一个错误:
1 | error C2440: '=' : cannot convert from 'double (*)[1000]' to 'double(*)[1000][1000]' |
为什么我不能用new分配一个二维数组?
你可以做的像这样: </P >
1 2 3 4 | int N = 10 ; double** mul1 = new double*[N]; for(int i = 0; i < N; ++i) mul1[i] = new double[N]; |
1 2 3 | double *mul1[N]; for (int i=0;i<N;++i) mul1[i] = new double[N]; |
representing A的二维阵列作为一个一维数组 </P >
性能评估的2维阵列与1维阵列 </P >