
Daniel James <daniel@calamity.org.uk> writes:
named_params_test.cpp isn't working for me on g++ 3.3.3/3.4.1 on linux. I get the following error:
/home/daniel/projects/boost/boost/mpl/eval_if.hpp: In instantiation of boost::mpl::eval_if<boost::detail::is_const_reference_wrapper<const boost::reference_wrapper<int> >, const boost::reference_wrapper<int>, boost::mpl::identity<const boost::reference_wrapper<int> > >': /home/daniel/src/boost/boost/named_params.hpp:431: instantiated from boost::detail::unwrap_cv_reference<const boost::reference_wrapper<int>
' named_params_test.cpp:159: instantiated from here /home/daniel/projects/boost/boost/mpl/eval_if.hpp:33: error: base boost::reference_wrapper<int>' with only non-default constructor in class without a constructor
The problem seems to be that eval_if inherits from boost::reference_wrapper<int> which doesn't have a default constructor. Is this a bug in g++? Since eval_if is never constructed I guess it might be?
Are you sure that you don't have G++ set to treat warnings as errors? This has shown up as a warning in other cases, but we decided not to apply a workaround to eval_if because that would just propagate the need for a workaround further out. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com