新矩阵[N][N]故障

new matrix[N][N] failure

本文关键字:故障 新矩阵      更新时间:2023-10-16

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

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

我收到一个错误:

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

为什么我不能为二维数组分配new?

你可以这样做:

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

将2D阵列表示为1D阵列

二维阵列与一维阵列的性能