2016-01-06 30 views
0

我有一个“预期常量表达式”错误。 这是我的错误部分:如何修改一个const int值C++

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

如何定义像一个恒定值,“行”的变量?或者如何解决这个问题?

+1

而且你怎么样规定的计? – mikedu95

+0

请发表[mvce](http://stackoverflow.com/help/mcve)。 – skypjack

+0

对不起,但没关系,计数器的值是从文件中获得的;像'FILE * fffile; \t fffile = fopen(“C:\\ goals.txt”,“r”); \t int i = 0; \t int j = 0; \t int counter = 0; \t int c = 0; \t而{//dosyanınsonuna游客gitme \t \t的fscanf(fffile, “%d”,&c); \t \t计数器++(FEOF(fffile)!);” – ozz

回答

2

C++不允许可变大小的数组。在你的例子中,row不是一个常数,因此不能用来指定数组的大小。

要解决此问题,您可以切换到C(允许使用这种数组),也可以使用C++构造 - 例如std::vector

Syntaxically正确的改变将改写行作为

const size_t row = counter/4; 

但比你需要counter常量,你将无法如果从用户输入得到它做的事。