C ++-1D中的动态数组有效,而2D中的动态数组无效

蒙泰

我的代码有问题。我为班级提供了一些输入,即nmax和mmax。这些在标头中定义为

int nmax;
int mmax;

然后我有一些数组,在header中定义为

double* Nline;
double** NMline;

然后我想在主程序中分配它们。首先,我将输入中的值分配给nmax和max

nmax = nmax_in;
mmax = mmax_in;

然后我分配数组

Nline = new double [nmax];
NMline = new double [nmax][mmax];

问题是,这种方式分配了1D阵列。但是2D数组不是-编译器写道:表达式必须具有常量值

为什么要分配NLine而不能分配NMline?

我了解但我不知道如何在程序中执行此操作,以及为什么对于1D数组,此分配是可以的。非常感谢您的帮助

内曼娅·波瑞克(Nemanja Boric)
double** NMline;

将声明指向指针数组的指针,而不声明2D数组。您需要首先为指针数组(指向行的指针)分配数据:

NMline = new double*[nmax];

然后初始化每一行:

for(int i = 0; i < nmax; i++)
       NMline[i] = new double[mmax];

不要忘记先删除所有行,然后删除NMline本身:

for(int i = 0; i < nmax; i++)
       delete [] NMline[i];
delete [] NMline;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这个有效的C ++是否可以初始化2D动态数组?

来自分类Dev

从C中现有的1D数组创建2D数组?

来自分类Dev

在C中动态分配2D数组

来自分类Dev

在C中动态分配2D数组

来自分类Dev

在C ++中动态输入2D字符数组

来自分类Dev

在C中动态调整大小的2d char数组?

来自分类Dev

如何在C ++中访问2D动态数组中的1个元素

来自分类Dev

在C ++中的2D数组中声明指向1D数组的指针

来自分类Dev

如何在C ++中循环遍历具有不同长度的动态2D数组

来自分类Dev

从C中的2D数组中产生1D数组

来自分类Dev

在C中如何基于1D数组分配2D数组?

来自分类Dev

用1d char数组附加2d char数组(在C中)

来自分类Dev

C ++ 2D数组到1D数组

来自分类Dev

C ++ AMP中1D和2D数组上operator []的行为。

来自分类Dev

在C ++中通过引用传递1d和2d数组

来自分类Dev

如何在C中的动态2D字符数组中查找行数?

来自分类Dev

指向C ++中动态分配的2D数组中的一行的指针

来自分类Dev

如何在c ++中以特定形式将内容从1d数组传输到2d数组?

来自分类Dev

在C ++中,2D数组在整体操作上是否比行为像2D数组的1D数组慢?

来自分类Dev

函数和返回指针中2D数组的C动态分配

来自分类Dev

在C编程的递归函数中更新了动态列和行大小的2D数组

来自分类Dev

使用C中的动态分配创建2D字符串数组

来自分类Dev

为什么在C ++中声明动态2D数组时使用指针指向?

来自分类Dev

按C中的第一列对动态分配的2D数组进行排序

来自分类Dev

如何在C ++中动态分配2D数组?

来自分类Dev

释放动态2D数组无法在C中按预期方式工作

来自分类Dev

如何在C ++中初始化指向动态2D数组的指针

来自分类Dev

在C中填充动态分配的2D char数组时的奇怪行为

来自分类Dev

C在动态2D char数组中插入字符串or(char *),分段错误

Related 相关文章

  1. 1

    这个有效的C ++是否可以初始化2D动态数组?

  2. 2

    从C中现有的1D数组创建2D数组?

  3. 3

    在C中动态分配2D数组

  4. 4

    在C中动态分配2D数组

  5. 5

    在C ++中动态输入2D字符数组

  6. 6

    在C中动态调整大小的2d char数组?

  7. 7

    如何在C ++中访问2D动态数组中的1个元素

  8. 8

    在C ++中的2D数组中声明指向1D数组的指针

  9. 9

    如何在C ++中循环遍历具有不同长度的动态2D数组

  10. 10

    从C中的2D数组中产生1D数组

  11. 11

    在C中如何基于1D数组分配2D数组?

  12. 12

    用1d char数组附加2d char数组(在C中)

  13. 13

    C ++ 2D数组到1D数组

  14. 14

    C ++ AMP中1D和2D数组上operator []的行为。

  15. 15

    在C ++中通过引用传递1d和2d数组

  16. 16

    如何在C中的动态2D字符数组中查找行数?

  17. 17

    指向C ++中动态分配的2D数组中的一行的指针

  18. 18

    如何在c ++中以特定形式将内容从1d数组传输到2d数组?

  19. 19

    在C ++中,2D数组在整体操作上是否比行为像2D数组的1D数组慢?

  20. 20

    函数和返回指针中2D数组的C动态分配

  21. 21

    在C编程的递归函数中更新了动态列和行大小的2D数组

  22. 22

    使用C中的动态分配创建2D字符串数组

  23. 23

    为什么在C ++中声明动态2D数组时使用指针指向?

  24. 24

    按C中的第一列对动态分配的2D数组进行排序

  25. 25

    如何在C ++中动态分配2D数组?

  26. 26

    释放动态2D数组无法在C中按预期方式工作

  27. 27

    如何在C ++中初始化指向动态2D数组的指针

  28. 28

    在C中填充动态分配的2D char数组时的奇怪行为

  29. 29

    C在动态2D char数组中插入字符串or(char *),分段错误

热门标签

归档