class User
{
public:
User(){}
virtual ~User(){}
void Test( int in )
{
}
}
User user;
vector< boost::function< void() > > functions;
functions.push_back( boost::bind( &User::Test, &user, 2 ) );
functions.push_back( boost::bind( &User::Test, &user, 4 ) );
for_each( functions.begin(), functions.end() , /* What goes here? */ );
答案 0 :(得分:3)
尝试
for_each( functions.begin(), functions.end(), mem_fn( &function< void() >::operator() ) );
其中mem_fn
为std::tr1::mem_fn
或boost::mem_fn
。