Hi,
I just tried to compile my 1.52- based code with 1.54 beta and run into
package_task compilation issue.
In 1.52 I was using BOOST_THREAD_VERSION=3 define but with 1.54 I complied
with =4.
Test program:
#define BOOST_THREAD_VERSION 4
#include
#include
struct MyFunc
{
void operator()()const {}
};
int main()
{
boost::function f;
MyFunc mf;
boost::packaged_task t1(f); // error 1
boost::packaged_task t2(mf); // error 2
}
error 1 being:
d:\devel\boost_1_54_0_beta1\boost\thread\future.hpp(2848): error C2664:
'boost::detail::task_object::task_object(boost::detail::task_object
&)' : cannot convert parameter 1 from 'boost::function<Signature>' to
'boost::detail::task_object &'
and error 2 similarly:
d:\devel\boost_1_54_0_beta1\boost\thread\future.hpp(2848): error C2664:
'boost::detail::task_object::task_object(boost::detail::task_object
&)' : cannot convert parameter 1 from 'MyFunc' to
'boost::detail::task_object &'
(I tried with custom functor because I thought maybe error was related to
boost function)
Compiling with Visual Studio 2012 Update 3
Regards,
Szymon Gatner