我想将一个类成员函数分配给一个函数指针。
这是我的简单示例:
#include <iostream>
typedef void (*func_t)(void);
static func_t funcPtr;
class Foo {
public:
Foo() {
funcPtr = (func_t)callback;
}
void callback() {
std::cout << "callback called\n";
}
};
int main() {
Foo foo;
funcPtr();
}
但是出现以下错误:
不能从类型'void'转换为指针类型'func_t'(aka'void (*)()')
如果我简单地使用callback()
函数static
,那么它将正常工作。
但是我想将其保留为非静态成员函数。
如何将callback()
函数分配给funcPtr
?