为什么在声明静态数组时我们不能指定变量大小?

时间:2015-06-24 22:24:45

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

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

int *ptr;
int size1;

cin >> size1;

ptr = new int[size1];

在静态内存分配中,我得到以下错误:数组绑定在']之前不是整数常量。令牌

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

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

1 个答案:

答案 0 :(得分:1)

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