我有一个“预期的常量表达式”错误。 这是我的错误部分:
int row=counter/4;
int goals[row][4];---> this part has error for "row" variable
如何将“row”变量定义为常量值?或者如何解决这个问题?
答案 0 :(得分:2)
C ++不允许可变大小的数组。在您的示例中,row
不是常量,因此不能用于指定数组大小。
要解决此问题,您可以切换到C(允许此类数组)或使用C ++构造 - 例如std::vector
。
语法正确的更改是将行重新改为
const size_t row = counter / 4;
但是你需要counter
const,如果从用户输入中获取它,你将无法做到。
答案 1 :(得分:0)
你只能在数组声明中使用编译时常量。
constexpr可以帮助你,
http://en.cppreference.com/w/cpp/language/constexpr
但不适用于所有编译器,请在此处寻找答案: