小编Raf*_*nel的帖子

如何创建指向函数指针的指针?

我正在尝试创建一个具有 2 个函数的结构,如果以后需要可以重写它。函数是:onClicked() 和 onClickedRight()。结构体的代码:

typedef struct {
    QString text;
    QString infoText;
    QUrl iconSrc;
    QColor iconColor;
    void (*onClicked)() = nullptr;
    void (*(*onClickedRight))() = &onClicked; // by default, execute the same function from onClicked()
} ConfigButton;
Run Code Online (Sandbox Code Playgroud)

我如何尝试执行这些功能:

ConfigButton b;
...
// test if click funtion has been defined, to execute it
if (b.onClicked)
    b.onClicked(); // this one work just fine

...

if (*(b.onClickedRight))
    (*(b.onClickedRight))(); // this one crashed
Run Code Online (Sandbox Code Playgroud)

甚至有可能吗?我错过了什么吗?

c++ struct pointers function

5
推荐指数
1
解决办法
201
查看次数

标签 统计

c++ ×1

function ×1

pointers ×1

struct ×1