|
Boost : |
From: Anthony Williams (anthony.ajw_at_[hidden])
Date: 2008-05-21 08:23:38
Markus Schöpflin <markus.schoepflin_at_[hidden]> writes:
> a number of platforms currently fail to compile these tests with an error
> message similar to the following:
>
> cxx: Error: ../boost/thread/pthread/thread.hpp, line 169: more than one
> instance of overloaded function "boost::bind" matches the argument
> list: (ambovlfun)
> function template "boost::bind<R,F,A1>(F, A1)"
> function template "boost::bind(R (T::*)(), A1)"
>
>
> The code in question reads:
>
> template <class F,class A1>
> thread(F f,A1 a1):
> thread_info(make_thread_info(boost::bind<void>(f,a1)))
> {
> start_thread();
> }
> Would the thread maintainer please decide on a fix and then commit it?
Could you try adding the following overload of the thread constructor
to boost/thread/pthread/thread.hpp
template <class T,class R,class P1,class A1>
thread(R (T::*f)(P1),A1 a1):
thread_info(make_thread_info(boost::bind<void>(boost::mem_fn(f),a1)))
{
start_thread();
}
If that makes the problem go away, I'll commit the change.
Anthony
-- Anthony Williams | Just Software Solutions Ltd Custom Software Development | http://www.justsoftwaresolutions.co.uk Registered in England, Company Number 5478976. Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk