【问题标题】:Why can't we specify a variable size when declaring a static array? [duplicate]为什么我们在声明静态数组时不能指定可变大小? [复制]
【发布时间】:2015-09-11 08:11:51
【问题描述】:

通过动态内存分配,以下代码完美运行。

int *ptr;
int size1;

cin >> size1;

ptr = new int[size1];

在静态内存分配中,出现以下错误:array bound is not an integer constant before ']' token

int size2;
cin >> size2;
int arr[size2];

为什么会这样?为什么我们不能指定可变大小?

【问题讨论】:

    标签: c++ heap-memory dynamic-memory-allocation variable-length-array


    【解决方案1】:

    可变长度数组是某些编译器支持的扩展,但它(尚未)在标准中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-27
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多