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? */ );
最佳答案
尝试
for_each( functions.begin(), functions.end(), mem_fn( &function< void() >::operator() ) );
其中 mem_fn
是 std::tr1::mem_fn
或 boost::mem_fn
。
关于c++ - 如何在一系列 boost::function 对象上使用 std::for_each ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6990955/