关于指向类成员函数的指针的问题
- C/C++ code
#include <iostream>class Test{protected: void (Test::*pFunc)();public: Test() { pFunc = &Test::Func; } void Func() { std::cout << "Func()" << std::endl; } void (Test::*GetpFunc())() { return pFunc; }};int main(){ Test t; t.Func(); // 这里我想通过GetpFunc访问pFunc,进而调用Func函数,怎么实现? //(t.*GetpFunc)(); return 0;}[解决办法]
当然,看的出来lz不喜欢typedef,喜欢嵌套:
(t.*(t.GetpFunc()))();