|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-02-13 08:32:36
Sergey Lukin wrote:
> Jeff Flinn wrote:
>
>> The types above are incompatible, use what Peter suggested
>> previously:
>>
>>
>> boost::function<void()> f = boost::bind( DPC::Print1, &x, 2 );
>
> I tried this also - no effect whatsoever.
>
> Have you tried to compile my code ?
You are right, the code doesn't work because Component::Method1 is a
template. Something like
typedef boost::function< void() > handler_type;
handler_type handler = boost::bind( &DPC::Print1, &x, 2 );
async_wait( boost::bind( &Component::Method1<handler_type>, &y, 10,
handler ) );
should work, but doesn't, under MSVC 7.1 at least. MSVC 8.0 eats it, though.
typedef boost::function< void() > handler_type;
handler_type handler = boost::bind( &DPC::Print1, &x, 2 );
void (Component::*pmf) (int, handler_type) = &Component::Method1;
async_wait( boost::bind( pmf, &y, 10, handler ) );
works under MSVC 7.1, but is too unwieldy.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk