[Lemon-commits] ladanyi: r3474 - lemon/trunk/lemon

Lemon SVN svn at lemon.cs.elte.hu
Sat Mar 1 21:09:41 CET 2008


Author: ladanyi
Date: Sat Mar  1 21:09:40 2008
New Revision: 3474

Modified:
   lemon/trunk/lemon/lp_cplex.cc
   lemon/trunk/lemon/lp_glpk.cc

Log:
In C++98 array size shall be an integral constant expression. Fixes
ticket 12.


Modified: lemon/trunk/lemon/lp_cplex.cc
==============================================================================
--- lemon/trunk/lemon/lp_cplex.cc	(original)
+++ lemon/trunk/lemon/lp_cplex.cc	Sat Mar  1 21:09:40 2008
@@ -91,11 +91,11 @@
     CPXgetcolname(env, lp, 0, 0, 0, &storespace, col, col);
 
     storespace *= -1;
-    char buf[storespace];
+    std::vector<char> 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<int> cstat(CPXgetnumcols(env, lp));
+    CPXgetbase(env, lp, &*cstat.begin(), NULL);
     return (cstat[i]==CPX_BASIC);
   }  
 

Modified: lemon/trunk/lemon/lp_glpk.cc
==============================================================================
--- lemon/trunk/lemon/lp_glpk.cc	(original)
+++ lemon/trunk/lemon/lp_glpk.cc	Sat Mar  1 21:09:40 2008
@@ -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<int> ind(1+LEMON_glp(get_num_cols)(glp.lp));
+    std::vector<Value> 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),



More information about the Lemon-commits mailing list