首页 > 解决方案 > 非静态类函数指针

问题描述

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

示例类:

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

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

int (A::*funcPtr)();

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

funcPtr = A::getFive;

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

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

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

标签: c++function-pointers

解决方案


以下将起作用:

funcPtr = &A::getNumber;

推荐阅读