Boost logo

Boost Users :

Subject: [Boost-users] problems with Boost.Thread on VS10
From: John M. Dlugosz (mpbecey7gu_at_[hidden])
Date: 2012-04-05 00:26:07


I'm trying to use a packaged_task, and get an error on creation.

         template<typename R,typename F>
         struct task_object:
             task_base<R>
         {
             F f;
             task_object(F const& f_): // << refers to look here
                 f(f_)
             {}
#ifndef BOOST_NO_RVALUE_REFERENCES
             task_object(F&& f_): // <<<< Error here
                 f(f_)
             {}

E:\boost_1_49\boost/thread/future.hpp(1251): error C2535:
'boost::detail::task_object<R,F>::task_object(F)' : member function already defined or
declared
           with
           [
               R=size_t,
               
F=std::tr1::_Bind<size_t,size_t,std::tr1::_Bind1<std::tr1::_Callable_fun<size_t (__cdecl
*const )(std::string &),false>,const char *>> &
           ]
           E:\boost_1_49\boost/thread/future.hpp(1247) : see declaration of
'boost::detail::task_object<R,F>::task_object'
           with
           [
               R=size_t,
               
F=std::tr1::_Bind<size_t,size_t,std::tr1::_Bind1<std::tr1::_Callable_fun<size_t (__cdecl
*const )(std::string &),false>,const char *>> &
           ]

So I'm thinking that VS10 (Microsoft Visual Studio 2010) has problems overloading the
constructor with (T const&) and (T&&) ? But shouldn't someone have noticed that long ago?

Any ideas here?
Thanks,
—John


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net