将类成员函数分配给函数指针

时间:2020-08-09 12:13:00

标签: c++

我想将一个类成员函数分配给一个函数指针。

这是我的简单示例:

#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

0 个答案:

没有答案