# HG changeset patch # User ladanyi # Date 1204402180 0 # Node ID 3b4d5bc3b4fbd50056633002ec575c45ab572fea # Parent 47c245b971991431e00fa2b69b083cb874d94ebd In C++98 array size shall be an integral constant expression. Fixes ticket 12. diff -r 47c245b97199 -r 3b4d5bc3b4fb lemon/lp_cplex.cc --- a/lemon/lp_cplex.cc Sat Mar 01 20:07:29 2008 +0000 +++ b/lemon/lp_cplex.cc Sat Mar 01 20:09:40 2008 +0000 @@ -91,11 +91,11 @@ CPXgetcolname(env, lp, 0, 0, 0, &storespace, col, col); storespace *= -1; - char buf[storespace]; + std::vector buf(storespace); char *names[1]; int dontcare; ///\bug return code unchecked for error - CPXgetcolname(env, lp, names, buf, storespace, &dontcare, col, col); + CPXgetcolname(env, lp, names, &*buf.begin(), storespace, &dontcare, col, col); name = names[0]; } @@ -402,8 +402,8 @@ } bool LpCplex::_isBasicCol(int i) const { - int cstat[CPXgetnumcols(env, lp)]; - CPXgetbase(env, lp, cstat, NULL); + std::vector cstat(CPXgetnumcols(env, lp)); + CPXgetbase(env, lp, &*cstat.begin(), NULL); return (cstat[i]==CPX_BASIC); } diff -r 47c245b97199 -r 3b4d5bc3b4fb lemon/lp_glpk.cc --- a/lemon/lp_glpk.cc Sat Mar 01 20:07:29 2008 +0000 +++ b/lemon/lp_glpk.cc Sat Mar 01 20:09:40 2008 +0000 @@ -64,12 +64,12 @@ LEMON_glp(add_rows)(lp, LEMON_glp(get_num_rows)(glp.lp)); LEMON_glp(add_cols)(lp, LEMON_glp(get_num_cols)(glp.lp)); int len; - int ind[1+LEMON_glp(get_num_cols)(glp.lp)]; - Value val[1+LEMON_glp(get_num_cols)(glp.lp)]; + std::vector ind(1+LEMON_glp(get_num_cols)(glp.lp)); + std::vector val(1+LEMON_glp(get_num_cols)(glp.lp)); for (int i=1;i<=LEMON_glp(get_num_rows)(glp.lp);++i) { - len=LEMON_glp(get_mat_row)(glp.lp,i,ind,val); - LEMON_glp(set_mat_row)(lp, i,len,ind,val); + len=LEMON_glp(get_mat_row)(glp.lp,i,&*ind.begin(),&*val.begin()); + LEMON_glp(set_mat_row)(lp, i,len,&*ind.begin(),&*val.begin()); LEMON_glp(set_row_bnds)(lp,i, LEMON_glp(get_row_type)(glp.lp,i), LEMON_glp(get_row_lb)(glp.lp,i),