gpt4 book ai didi

c++ - 我的初始化有什么问题?

转载 作者:行者123 更新时间:2023-11-30 01:22:44 25 4
gpt4 key购买 nike

这行代码是我的 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

为什么会这样?我应该如何改变这个?谢谢

最佳答案

扩展我的评论:

IloArray<IloRange> range_weightedSumBR[i] = IloArray<IloRange>(env, r);

看起来像是声明一个数组的尝试(这将隐藏在外部范围声明的 range_weightedSumBR。

同样适用于

IloRange range_weightedSum_BR[i][j] = IloRange(env, 0, weightedSum_BR[i][j], addupto);

我假设你的意思是那些

range_weightedSumBR[i] = IloArray<IloRange>(env, r);

range_weightedSumBR[i][j] = IloRange(env, 0, weightedSumBR[i][j], addupto);

(也删除了一些额外的下划线)

关于c++ - 我的初始化有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15851332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com