函数指针结构

时间:2021-01-22 10:07:16

标签: c++

我在初始化指针结构时遇到问题。 我尝试使用非静态方法初始化指针,但出现编译错误。

让我说明问题。

结构指针:

typedef struct
{
    bool (*init)(void);
    void (*deInit)(void);
}sCallback;

类:

class Manager
{
    public :
        Manager();
        bool init(void);
        void deInit(void);
};

Manager manager; // instanciation

结构指针初始化:

sCallback const callback =
{
    manager.init,
    manager.deInit
};

执行此操作时,出现错误:无法将 'Manager::init' 从类型 'bool (Manager::)()' 转换为类型 'bool(*)()'。 我不明白为什么。

但是如果我使用静态方法(对于 init 方法),我就没有这个问题。

我怎样才能用非静态方法做到这一点?

0 个答案:

没有答案
相关问题