class A { private: void foo(int n) {}; public: void foo() {}; }; int main(int argc, char *argv[]) { A a; auto pfun = (void (*) ())a.foo; // A::foo(int) is inaccessible }
用 static_cast<void (A::*)()>(&A::foo)
指向类成员函数的指针并非是普通的函数指针!
void (A::*pfun)() = &A::foo;
64,654
社区成员
250,484
社区内容
加载中
试试用AI创作助手写篇文章吧