问一个小问题,关于boost::bind,和function,lambda也可能有点关系
typedef function<void (void)> fv_t;
typedef function<void (int)> fi_t;
void bar(fv_t f){
}
void foo(int i){
}
void bridge(int i){
bar( bind(foo, i) );
}
int main()
{
fi_t f0 = bind( bridge, _1 );
}
上面的程序没有问题,但是我想去掉bridge函数
直接给f0赋值,请问这个bind语句该怎么写呢?
比如 (这么写不对) fi_t f0 = bind( bar, bind(foo, _1) );
或者用boost::lambda可以实现不?该怎么写这个语句呢?