Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-04-10 04:20:13


The addressof() patch to reference_wrapper broke my tests for
boost.python v2 with msvc6 and msvc7. I'm going to roll it back until
it's fixed.

-Dave

-------

c:\boost\boost/ref.hpp(34) : error C2667: 'addressof' : none of 2
overload have a best conversion
        c:\boost\boost/ref.hpp(34) : while compiling class-template
member function '__thiscall boost::reference_wrapper<struct A const
>::boost::reference_wrapper<struct A const >(const struct A &)'
c:\boost\boost/ref.hpp(34) : error C2668: 'addressof' : ambiguous call
to overloaded function
        c:\boost\boost/ref.hpp(34) : while compiling class-template
member function '__thiscall boost::reference_wrapper<struct A const
>::boost::reference_wrapper<struct A const >(const struct A &)'
c:\boost\boost/ref.hpp(34) : fatal error C1903: unable to recover from
previous error(s); stopping compilation

c:\boost\boost\ref.hpp(34) : error C2667: 'boost::addressof' : none of 4
overloads have a best conversion
        c:\boost\boost\utility\addressof.hpp(46): could be 'volatile
const T *boost::addressof(volatile const T &)'
        c:\boost\boost\utility\addressof.hpp(39): or 'volatile T
*boost::addressof(volatile T &)'
        c:\boost\boost\utility\addressof.hpp(32): or 'const T
*boost::addressof(const T &)'
        c:\boost\boost\utility\addressof.hpp(25): or 'T
*boost::addressof(T &)'
        while trying to match the argument list '(const A)'
        c:\boost\boost\ref.hpp(34) : while compiling class-template
member function 'boost::reference_wrapper<T>::reference_wrapper(const A
&)'
        with
        [
            T=const A
        ]
        c:\boost\boost\python\object\class_wrapper.hpp(41) : see
reference to class template instantiation 'boost::reference_wrapper<T>'
being compiled
        with
        [
            T=const A
        ]
        c:\boost\boost\python\object\class_wrapper.hpp(26) : while
compiling class-template member function 'PyObject
*boost::python::objects::class_wrapper<T,Holder>::convert(const T &)'
        with
        [
            T=A,

Holder=boost::python::objects::detail::select_pointer_holder<A,boost::py
thon::class_<A,boost::shared_ptr<A>,boost::python::detail::not_specified
,boost::python::detail::not_specified>::held_type>::holder
        ]
        c:\boost\boost\python\class.hpp(47) : see reference to class
template instantiation 'boost::python::objects::class_wrapper<T,Holder>'
being compiled
        with
        [
            T=A,

Holder=boost::python::objects::detail::select_pointer_holder<A,boost::py
thon::class_<A,boost::shared_ptr<A>,boost::python::detail::not_specified
,boost::python::detail::not_specified>::held_type>::holder
        ]
        c:\boost\boost\python\class.hpp(236) : see reference to function
template instantiation 'void
boost::python::detail::register_copy_constructor(const
boost::mpl::bool_t<C>
&,boost::python::objects::detail::select_pointer_holder<T,Ptr>::holder
*,const boost::python::ref &,A *)' being compiled
        with
        [
            C=true,
            T=A,

Ptr=boost::python::class_<A,boost::shared_ptr<A>,boost::python::detail::
not_specified,boost::python::detail::not_specified>::held_type
        ]
        c:\tools\Vc7\include\xmemory(136) : while compiling
class-template member function
'boost::python::class_<T,X1,X2,X3>::class_(const char *)'
        with
        [
            T=A,
            X1=boost::shared_ptr<A>,
            X2=boost::python::detail::not_specified,
            X3=boost::python::detail::not_specified
        ]
        bienstman1.cpp(30) : see reference to class template
instantiation 'boost::python::class_<T,X1,X2,X3>' being compiled
        with
        [
            T=A,
            X1=boost::shared_ptr<A>,
            X2=boost::python::detail::not_specified,
            X3=boost::python::detail::not_specified
        ]
c:\boost\boost\ref.hpp(34) : error C2668: 'boost::addressof' : ambiguous
call to overloaded function
        c:\boost\boost\utility\addressof.hpp(46): could be 'volatile
const T *boost::addressof(volatile const T &)'
        c:\boost\boost\utility\addressof.hpp(39): or 'volatile T
*boost::addressof(volatile T &)'
        c:\boost\boost\utility\addressof.hpp(32): or 'const T
*boost::addressof(const T &)'
        c:\boost\boost\utility\addressof.hpp(25): or 'T
*boost::addressof(T &)'
        while trying to match the argument list '(const A)'
c:\boost\boost\ref.hpp(34) : fatal error C1903: unable to recover from
previous error(s); stopping compilation

+---------------------------------------------------------------+
                  David Abrahams
      C++ Booster (http://www.boost.org) O__ ==
      Pythonista (http://www.python.org) c/ /'_ ==
  resume: http://users.rcn.com/abrahams/resume.html (*) \(*) ==
          email: david.abrahams_at_[hidden]
+---------------------------------------------------------------+


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