我有一個程序將const int
定義爲數組大小的值。無論如何,當程序第一次運行時,我可以改變這個var的值嗎?我只需要在開始時設定一次,但我不能讓程序編譯時試圖將其使用cin
因爲我發現了一個錯誤,指出設置:在運行時讀入const int的值 - C++
我的理解指的是存在沒有爲數組大小設置值,因此無法編譯。我也嘗試初始化var我想設置爲1
,然後更改它,一旦程序正在運行,但我沒有這樣的運氣,得到相同的錯誤。
編輯: 前兩行是新的var
和新的const int
我期待改變,下面是錯誤似乎源於的行。
int objectIndexSize;
const int numOfObjects = objectIndexSize;
Mat imageArray[numOfObjects];
Mat descriptorsArray[numOfObjects];
vector<KeyPoint> keypointArray[numOfObjects];
String objectName[numOfObjects];
String fileNamePostCut[numOfObjects];
您使用的數組索引不是整數或整數變量.....再次檢查 – ha9u63ar 2015-04-01 09:25:40
將無法工作,禁止編譯器擴展。是否有一個原因,你不只是使用['std :: vector'](http://en.cppreference.com/w/cpp/container/vector)? – Wintermute 2015-04-01 09:25:49
你能顯示產生錯誤的代碼嗎?'const int s = 3;雙a [s]'通常很好。然而,如果你使用stl容器(例如std :: vector),你可以在這些問題上節省很多頭痛 – user463035818 2015-04-01 09:26:08