非静态 class 函数指针

Non-static class function pointer

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

示例class:

class A
{
    public:
        int getNumber() { return 5; }
};

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

int (A::*funcPtr)();

在此之后,我将其初始化为:

funcPtr = A::getFive;

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

invalid use of non-static member function 'int A::getNumber()'

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

以下方法可行:

funcPtr = &A::getNumber;