這行代碼是我C++ cplex庫優化函數定義的一部分。我的初始化有什麼問題?
IloArray<IloArray<IloExpr> > weightedSumBR = IloArray<IloArray<IloExpr> >(env, r);
for(int i=0; i<r; i++) {
weightedSumBR[i] = IloArray<IloExpr>(env, r);
for(int j=0; j<color; j++) {
for(int k=i*n; k<(i+1)*n; k++) {
for(int l=0; l<N; l++) {
weightedSumBR[i][j] += m[k][l]*x[k][l][j];
}
}
}
}
IloArray<IloArray<IloRange> > range_weightedSumBR(env, r);
for(int i=0; i<r; i++) {
IloArray<IloRange> range_weightedSumBR[i] = IloArray<IloRange>(env, r);
for(int j=0; j<color; j++) {
IloRange range_weightedSum_BR[i][j] = IloRange(env, 0, weightedSum_BR[i][j], addupto);
}
}
,但我收到以下錯誤:
g.cpp:120:78: error: variable-sized object ‘range_weightedSumBR’ may not be initialized
g.cpp:122:68: error: ‘weightedSum_BR’ was not declared in this scope
g.cpp:122:97: error: variable-sized object ‘range_weightedSum_BR’ may not be initialized
爲什麼會這樣呢? 我應該如何改變這一點? 謝謝
我假設線120是'IloArray range_weightedSumBR [i] = IloArray (env,r);'。這是否意味着是一個賦值或聲明(一個大小爲「i」的數組,它不是編譯時常量)?在前一種情況下:它爲什麼從一個類型說明符開始? –
JoergB
2013-04-06 13:12:40