非静态类函数指针

Ale*_*eev 0 c++ function-pointers

我正在尝试创建一个指向类非静态函数的指针,以便由多个对象调用它。

示例类:

class A
{
    public:
        int getNumber() { return 5; }
};
Run Code Online (Sandbox Code Playgroud)

我创建了一个指向具有相同签名的类函数的指针:

int (A::*funcPtr)();
Run Code Online (Sandbox Code Playgroud)

在此之后,我已经像这样初始化它:

funcPtr = A::getFive;
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,出现以下错误:

非静态成员函数'int A::getNumber()'的无效使用

我的指针声明有什么问题?我试图创建函数const并更改返回类型,但它没有帮助我。

Nut*_*ker 5

以下将起作用:

funcPtr = &A::getNumber;
Run Code Online (Sandbox Code Playgroud)