Boost logo

Boost :

From: Larry Evans (cppljevans_at_[hidden])
Date: 2005-01-28 18:27:05


Is the following supposed to compile:

       enum
     visitor_numerals
     { visitor_n0
     , visitor_n1
     };

     typedef mpl::vector_c<visitor_numerals,visitor_n0> vec_viz_type;
     typedef mpl::at_c<vec_viz_type,0>::type vec_viz0_type;

it does with intel but with gcc, I get:

bjam --v2 toolset=gcc vector_enum_test
...patience...
...found 751 targets...
...updating 4 targets...
gcc.compile.c++
../../../../bin.v2/lje/libs/fields_visitor/test/vector_enum_test.test/gcc/debug/vector_enum_test.o
/home/evansl/prog_dev/boost-release/boost_1_32_0/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp:
In instantiation of `boost::mpl::vector_c<visitor_numerals, 0l,
2147483647l, 2147483647l, 2147483647l, 2147483647l, 2147483647l,
2147483647l, 2147483647l, 2147483647l, 2147483647l, 2147483647l,
2147483647l, 2147483647l, 2147483647l, 2147483647l, 2147483647l,
2147483647l, 2147483647l, 2147483647l, 2147483647l>':
/home/evansl/prog_dev/boost-release/boost_1_32_0/boost/mpl/aux_/has_tag.hpp:20:
   instantiated from `boost::mpl::aux::has_tag<test()::vec_viz_type,
mpl_::bool_< false> >'
/home/evansl/prog_dev/boost-release/boost_1_32_0/boost/mpl/sequence_tag.hpp:115:
   instantiated from `boost::mpl::sequence_tag<test()::vec_viz_type>'
/home/evansl/prog_dev/boost-release/boost_1_32_0/boost/mpl/at.hpp:45:
instantiated from `boost::mpl::at_c<test()::vec_viz_type, 0l>'
vector_enum_test.cpp:11: instantiated from here
/home/evansl/prog_dev/boost-release/boost_1_32_0/boost/mpl/aux_/preprocessed/gcc/vector_c.hpp:47:
error: invalid conversion from `long int' to `visitor_numerals'


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk