Boost logo

Boost Users :

Subject: [Boost-users] Ambiguous boost::move
From: Kelvin Chung (kelvSYC_at_[hidden])
Date: 2011-11-24 20:31:42


I'm having this compiler issue while trying to use boost::packaged_task
(gcc, C++03, move emulation). When I try to compile, I get the
following:

src/KMBuilder.cpp:54: error: call of overloaded
‘move(boost::unique_future<long unsigned int>&)’ is ambiguous
boost/include/boost/thread/detail/move.hpp:44: note: candidates are:
typename boost::enable_if<boost::is_convertible<T&,
boost::detail::thread_move_t<T> >, boost::detail::thread_move_t<T>
>::type boost::move(T&) [with T = boost::unique_future<long unsigned
int>]
boost/include/boost/move/move.hpp:294: note: typename
boost::move_detail::disable_if<boost::has_move_emulation_enabled<T>,
T&>::type boost::move(T&) [with T = boost::unique_future<long unsigned
int>]

The offending line of code:
futures.push_back(boost::move(taskResult)); // futures is a
boost::container::deque

Is there a way to force one version of boost::move over the other? If
so, which one should I use?


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