如何用一个变量中的元素数量创建一个数组?

问题描述:

我有一个从文件中读取的整数num。我想创建一个元素数为num的数组。如何用一个变量中的元素数量创建一个数组?

的是我想做的事情,但不工作的样本代码:

int num; 
cin >> num; 
int iarray[num]; 
+6

'std :: vector ar(num);',假设当然你检查了读取op *的返回值,*确保'num'是一个合理的值(即不是负数等)。 – WhozCraig 2013-02-17 00:39:21

+0

这是错误的重复。 – 2013-02-17 00:46:10

+0

@koggiri:太棒了 – 2014-03-31 19:54:52

数组在C++中有编译时边界。

改为使用动态分配,或使用健康的std::vector封装在同一个进程中。

动态分配为int * iarray = new int[num];

只要确保调用delete[] iarray;在某个时候释放内存。