![](/img/trans.png)
[英]How to create an array of IloModel and IloObjective object pointers in c++?
[英]Is it possible to create an array of IloModel objects in C++?
我一直在尝试创建一个 IloModel object 数组,但没有成功。 有没有简单的方法来做到这一点?
这是我迄今为止尝试过的:
IloModel* models = new(env) IloModel[S];
代码可以编译,但每当我尝试为每个模型添加约束时,都会显示以下错误消息:
错误:尝试添加到空句柄 IloModel
我已从 new 运算符中删除了参数,并将以下几行添加到我正在编写的代码中:
cout << "0" << endl;
for(int i=0; i < S; S++)
models[i] = IloModel(env);
但是现在当我运行代码时计算机死机了。
您正在创建一个空model 对象数组(即没有句柄的对象)。 创建空模型数组后,您必须初始化每个模型:
for (int i = 0; i < 5; ++i) models[i] = IloModel(env);
我不确定用于分配数组的放置新语法。 除非有充分的理由不使用默认operator new
,否则可能更容易让我们阅读,甚至在堆栈上分配数组。
编辑:这是一个适用于我的完整代码片段:
IloEnv env;
int S = 5;
IloModel *models = new IloModel[S];
for (int i = 0; i < S; ++i)
models[i] = IloModel(env);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.