【发布时间】:2013-05-19 23:29:51
【问题描述】:
我在一个 C++ 程序中有以下三行代码:
cin >> size;
const int arrsize = size;
int inBoard[arrsize][arrsize];
VS Express 给我以下错误:Error: expression must have a constant value 在最后一行,特别是在两次提到 arrsize 时。我不明白这一点,因为我将arrsize 声明为const?这里有什么问题,我该如何避免?
【问题讨论】:
-
它必须是编译时常量。
-
那么如何创建一个用户在运行时确定大小的数组呢?
-
通过
new操作符使用动态分配。 -
使用
std::vector。 -
@MarioA.CorcheroJiménez,FWIW,它在即将到来的 C++14 中也是合法的。
标签: c++