
I tried to use boost::tuple for the first time, and soon ran into a problem. I can't get values using boost::get<i> where i is an int. samplec code typedef boost::tuple<double,double,double> tuple; void foo() { std::vector<tuple> corr = boost::assign::tuple_list_of ( 1.0, 0.1, -0.1 ) ( 0.1, 1.0, 0.4 ) ( -0.1, 0.4, 1.0 ); for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) { double val = boost::get<i>( corr[j] ); } } Using Visual Studio 2005 this comes give me a compiler error: error C2971: 'boost::tuples::get' : template parameter 'N' : 'i' : a local variable cannot be used as a non-type argument then when I move the int i declaration outside of the function foo. I get a new error: error C2975: 'N' : invalid template argument for 'boost::tuples::get', expected compile-time constant expression What do I need to do to access values in a tuple with an index i? Lars