Boost logo

Boost Users :

From: Chris Weed (chrisweed_at_[hidden])
Date: 2007-10-17 15:43:33


Hi,
I can't figure out why the following code generates a compile error
with gcc 3.4:

#include <boost/mpl/vector_c.hpp>
#include <boost/mpl/at.hpp>
#include <boost/tuple/tuple.hpp>

template<typename E,typename T>
typename boost::tuples::element<boost::mpl::at_c<E,0>::type::value,T>::type
foo(E e,T t)
{
  return t.get<0>();
}

int main()
{
  typedef boost::mpl::vector_c<int,0,1> elements;
  boost::tuple<int> t(1);
  foo(elements(),t);
}

main.cpp: In function `typename boost::tuples::element<
boost::mpl::at_c<E,0l>::#`typename_type' not supported by
pp_cxx_unqualified_id#::value, T>::type foo(E, T)':
main.cpp:10: error: expected primary-expression before ')' token
main.cpp: In function `typename boost::tuples::element<
boost::mpl::at_c<E,0l>::#`typename_type' not supported by
pp_cxx_unqualified_id#::value, T>::type foo(E, T) [with E =
boost::mpl::vector_c<int, 0l, 1l, 2147483647l, 2147483647l,
2147483647l, 2147483647l, 2147483647l, 2147483647l, 2147483647l,
2147483647l, 2147483647l, 2147483647l, 2147483647l, 2147483647l,
2147483647l, 2147483647l, 2147483647l, 2147483647l, 2147483647l,
2147483647l>, T = boost::tuples::tuple<int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>]':
main.cpp:17: instantiated from here
main.cpp:10: error: invalid use of member (did you forget the `&' ?)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net