Boost logo

Boost :

From: Jeff Flinn (TriumphSprint2000_at_[hidden])
Date: 2006-02-09 14:26:41


Sergey Lukin wrote:
> Peter Dimov replied:
>
>>> t.async_wait(boost::bind(Component::Method1, &y, 10, boost::bind
>>> (DPC::Print1, &x, 2), &t));
>>
>> You need to prevent the inner bind from being treated as a
>> subexpression of the outer bind. Either assign it to a function<>:
>>
>> boost::function<void()> f = boost::bind( DPC::Print1, &x, 2 );
>> t.async_wait( boost::bind( Component::Method1, &y, 10, f ) );
>> or use boost::protect, as explained at the end of
>>
>> http://boost.org/libs/bind/bind.html#nested_binds
>
> I tried both suggested solutions but still have the same errors
>
> boost::function<void(int)> f = boost::bind( DPC::Print1, &x, 2 );

The types above are incompatible, use what Peter suggested previously:

 boost::function<void()> f = boost::bind( DPC::Print1, &x, 2 );

Jeff Flinn


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk