c++ - 非静态类函数指针
问题描述
我正在尝试创建一个指向类非静态函数的指针,以便由多个对象调用它。
示例类:
class A
{
public:
int getNumber() { return 5; }
};
我创建了一个指向具有相同签名的类函数的指针:
int (A::*funcPtr)();
在此之后,我已经像这样初始化它:
funcPtr = A::getFive;
当我尝试编译时,出现以下错误:
无效使用非静态成员函数'int A::getNumber()'
我的指针声明有什么问题?我试图创建函数const
并更改返回类型,但它对我没有帮助。
解决方案
以下将起作用:
funcPtr = &A::getNumber;
推荐阅读
- python - 如何仅考虑特定行来使用 groupby 计算中位数
- android - 使用 getResource().readText() 读取 xml 文件时遇到问题
- javascript - 如何根据索引 React 为选定元素赋值?
- javascript - XX-XXX XXXX格式后的电话号码中的数字无法删除时如何删除?
- javascript - 如何使用 where() 后跟 startAt() 和 endAt() 从 Firestore 获取值
- azure - 在应用服务计划上托管 Azure Functions 时的内存注意事项
- objective-c - 如何启用后台线程绘制到 NSView
- kotlin - 具有可能的空值的 Kotlin 映射器
- c++ - 间接运算符如何通过运算符重载返回指针地址
- ocaml - OCaml 对二次根的偏应用