急:boost::bind的一个菜鸟问题
- C/C++ code
struct A{ char a;};char fun1(const char* c){ //printf(c); std::cout<<"fun1:"<<c<<std::endl; return 'c';}bool fun2(A& a){ std::cout<<"fun2:"<<a.a<<std::endl; return true;}bool fun3(bool(*pf)(A&)){ A a; a.a = 'a'; return pf(a);}bind或者其它的有没有法子把fun1函数改造成fun2一样的函数签名以适配fun3的函数回调?
[解决办法]
bind之后是对象
而fun3只接受 函数指针,所以不行。
要是func3参数是模板的话倒是没问题。