急boost:bind的一个初学者有关问题
急:boost::bind的一个菜鸟问题
bind或者其它的有没有法子把fun1函数改造成fun2一样的函数签名以适配fun3的函数回调?
------解决方案--------------------
bind之后是对象
而fun3只接受 函数指针,所以不行。
要是func3参数是模板的话倒是没问题。
- 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参数是模板的话倒是没问题。