通过函数指针调用类成员函数必须.* 或->* 。
代码示例:
class A { public: void fun(void){printf("hello\n");} };
typedef void (A::*Tpfun)(void);
class B { public: Tpfun pf; };
int main(int argc, char** argv) {
A a; B b;
A* pa = &a;
b.pf = a.fun;
Tpfun pf = a.fun;
(a.*b.pf)(); (a.*pf)(); (pa->*pf)();
return 0;
}
程序输出: