新矩阵[N] [N]失败

时间:2013-03-23 11:13:38

标签: c++ multidimensional-array stack-overflow

我有堆栈溢出在堆栈上分配一个巨大的矩阵(我同意这一点:在那里分配它是愚蠢的)我正在编写以下代码,因为我想用下标访问矩阵的元素索引mat [x] [y]

double (*mul1)[N][N];
mul1 = new double[N][N];

我收到错误:

error C2440: '=' : cannot convert from 'double (*)[1000]' to 'double(*)[1000][1000]'

为什么我不能用new?

分配二维数组?

2 个答案:

答案 0 :(得分:2)

你可以这样做:

int N = 10 ;
double** mul1 = new double*[N];
for(int i = 0; i < N; ++i)
   mul1[i] = new double[N];

答案 1 :(得分:1)

double *mul1[N];
for (int i=0;i<N;++i)
    mul1[i] = new double[N];

Representing a 2D array as a 1D array

Performance of 2-dimensional array vs 1-dimensional array