我正在尝试创建一个具有 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)
甚至有可能吗?我错过了什么吗?