非静态类函数指针

问题描述 投票:0回答:1

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

示例类:

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

我用相同的签名创建了指向类函数的指针:

int (A::*funcPtr)();

此后,我已将其初始化为:

funcPtr = A::getFive;

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

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

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

c++ function-pointers
1个回答
4
投票

以下将起作用:

funcPtr = &A::getNumber;
© www.soinside.com 2019 - 2024. All rights reserved.