guys, I just found the answer, like following:
boost::function< void()> func(
boost::bind( DataConsumer,
boost::bind( boost::addressof< A >, boost::bind< A& >( DataSource ) )
) );
The theory should be: since we call DataSource later, we need a functor that uses the return value later as well.
JQ
2010-04-16 05:20:13