Boost logo

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