2016-01-06 78 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常量,你將無法如果從用戶輸入得到它做的事。

相關問題