非静态 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;
我正在尝试创建一个指向 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;