将用户输入的数组大小分配给数组

时间:2014-12-24 22:02:26

标签: c++ arrays visual-studio runtime-error

当我想将用户输入的数组大小分配给数组时,为什么我不能使用此代码?

int n;
cin>>n;
int array[n];

还有另一种方法可以做到这一点,而不是使用这种结构吗?

int n;
cin>>n;
int *array;
array = new int[n];

1 个答案:

答案 0 :(得分:-1)

根据O' Reilly" C ++ In A Nutshell" (2003),

An array is specified with a constant size in square brackets

由于变量n不是常数,因此无法用于指定数组的大小。

同一段也说,

For an array-like container whose size can change at runtime, see <vector> in Chapter 13.

很抱歉,但是你不允许这种结构。