Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将IloEnv转换为CPXENVptr_C++_Cplex - Fatal编程技术网

C++ 将IloEnv转换为CPXENVptr

C++ 将IloEnv转换为CPXENVptr,c++,cplex,C++,Cplex,我正在使用concert技术使用IloCplex构建一个优化模型。 在我的例程中,我需要调用教授几年前编写的子程序。此子例程需要一个参数,一个指向CPXOPENPLEX返回的CPLEX环境的指针。问题是,我无法找到如何使用concert技术制作这样的指针。CPXOPENPLEX似乎属于可调用库。到目前为止,我所做的是将模型中的IloEnv声明为 伊洛恩温 然后我尝试将其转换为指向CPLEX环境的指针,如下所示 CPXENVptr-cpxenv; cpxenv=CPXENVptr&env 但它似乎

我正在使用concert技术使用IloCplex构建一个优化模型。 在我的例程中,我需要调用教授几年前编写的子程序。此子例程需要一个参数,一个指向CPXOPENPLEX返回的CPLEX环境的指针。问题是,我无法找到如何使用concert技术制作这样的指针。CPXOPENPLEX似乎属于可调用库。到目前为止,我所做的是将模型中的IloEnv声明为

伊洛恩温

然后我尝试将其转换为指向CPLEX环境的指针,如下所示 CPXENVptr-cpxenv; cpxenv=CPXENVptr&env

但它似乎不起作用。它将被编译,但当我运行代码时,我看到了消息

分段故障堆芯


我希望有人能帮助我?

环境必须初始化,而不仅仅是声明为局部变量

int status;
CPXENVptr env;
env = CPXopenCPLEX (&status);
...

我不知道我是否能跟着你到那里。可能是因为我的问题不够精确。我使用concert技术,首先创建一个IloEnv,其他一切都是在它的基础上构建的。如果我按照你的建议去做,我的编译器只会告诉我,操作符=不匹配,并且没有已知的从CPXENVptr到const ilonev的转换&当你像现在这样在C中强制转换指针时,你只是告诉编译器将一个数据结构当作另一个数据结构来处理,它不会进行任何转换。您调用的子例程将参数视为CPXEnvptr,而不是CPXEnvptr。这将为您提供核心转储。C让你像那样射中自己的脚。