Originally posted by: SystemAdmin
You can think of these two definitions like this:
struct cpxenv;
typedef struct cpxenv *CPXENVptr;
typedef struct cpxenv const *CPXCENVptr;
As you can see, the CPX*C*ENVptr version has an additional 'const' qualifier. If an argument to a function is CPXCENVptr then the function will not change the environment pointed to, if the argument is CPXENVptr then it may change it.
One good example is CPXsetintparam() and CPXgetintparam(). CPXsetintparam() changes the parameter settings in the environment and therefore has a CPXENVptr argument. CPXgetintparam() does not change the environment but only reads a parameter value from it. Therefore it has a CPXCENVptr argument.
#CPLEXOptimizers#DecisionOptimization