如何修改const int值c ++

时间:2016-01-06 14:34:18

标签: c++ variables constants

我有一个“预期的常量表达式”错误。 这是我的错误部分:

 int row=counter/4;     
int goals[row][4];---> this part has error for "row" variable

如何将“row”变量定义为常量值?或者如何解决这个问题?

2 个答案:

答案 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

但不适用于所有编译器,请在此处寻找答案:

constexpr function as array size