Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-11-13 18:23:40


Daniel James <daniel_at_[hidden]> 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

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