繁体   English   中英

是否可以在 C++ 中创建 IloModel 对象数组?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM