boost 1.38 to 1.42 upgrade problem

Hello, I'm using successfully boost library (interprocess part mainly) since a long time (ver 1.38) But when I try to upgrade to newer version (any version higher than 1.38), compilation is failing (using VC++ express 2008)... here is the error msg from compiler : d:\svn\fbistudio\dep\boost_latest\boost/preprocessor/iteration/detail/lo cal.hpp(37) : error C2664: 'helpdesk::objects::shm::shared_data::shared_data(helpdesk::objects::shm ::sharedmemory_type &) throw()' : cannot convert parameter 1 from 'const helpdesk::objects::shm::sharedmemory_type' to 'helpdesk::objects::shm::sharedmemory_type &' 1> Conversion loses qualifiers 1> d:\svn\fbistudio\dep\boost_latest\boost/preprocessor/iteration/detail/lo cal.hpp(37) : while compiling class template member function 'void boost::interprocess::detail::Ctor1Arg<T,is_iterator,P0>::construct(void *,boost::interprocess::detail::false_)' 1> with 1> [ 1> T=helpdesk::objects::shm::shared_data, 1> is_iterator=false, 1> P0=helpdesk::objects::shm::sharedmemory_type 1> ] 1> d:\svn\fbistudio\dep\boost_latest\boost/preprocessor/iteration/detail/lo cal.hpp(37) : see reference to class template instantiation 'boost::interprocess::detail::Ctor1Arg<T,is_iterator,P0>' being compiled 1> with 1> [ 1> T=helpdesk::objects::shm::shared_data, 1> is_iterator=false, 1> P0=helpdesk::objects::shm::sharedmemory_type 1> ] 1> ..\src\objects\shareddata.cpp(181) : see reference to function template instantiation 'T *boost::interprocess::detail::named_proxy<SegmentManager,T,is_iterator>: :operator ()<helpdesk::objects::shm::sharedmemory_type>(const P0 &) const' being compiled 1> with 1> [ 1> T=helpdesk::objects::shm::shared_data, 1> SegmentManager=boost::interprocess::segment_manager<char,boost::interpro cess::rbtree_best_fit<boost::interprocess::mutex_family>,boost::interpro cess::iset_index>, 1> is_iterator=false, 1> P0=helpdesk::objects::shm::sharedmemory_type 1> ] Any idea ? Thanks Greg

AMDG DE COCK Gregory wrote:
I'm using successfully boost library (interprocess part mainly) since a long time (ver 1.38) But when I try to upgrade to newer version (any version higher than 1.38), compilation is failing (using VC++ express 2008)... here is the error msg from compiler :
d:\svn\fbistudio\dep\boost_latest\boost/preprocessor/iteration/detail/lo cal.hpp(37) : error C2664: 'helpdesk::objects::shm::shared_data::shared_data(helpdesk::objects::shm ::sharedmemory_type &) throw()' : cannot convert parameter 1 from 'const helpdesk::objects::shm::sharedmemory_type' to 'helpdesk::objects::shm::sharedmemory_type &' 1> Conversion loses qualifiers 1> <snip>
The constructor argument forwarding appears to be inconsistent with comments. It might work if you used boost::ref. In Christ, Steven Watanabe
participants (2)
-
DE COCK Gregory
-
Steven Watanabe