当我想将用户输入的数组大小分配给数组时,为什么我不能使用此代码?
int n;
cin>>n;
int array[n];
还有另一种方法可以做到这一点,而不是使用这种结构吗?
int n;
cin>>n;
int *array;
array = new int[n];
答案 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.
很抱歉,但是你不允许这种结构。