【发布时间】:2021-08-12 21:30:12
【问题描述】:
我的结构代码:
struct MouseHandler
{
void OnHover();
void* OnLeftClick();
// void (*OnLeftClick)();
void OnRightClick();
void OnDrag();
void OnDrop();
};
结构体的调用:
MouseHandler ms;
我正在尝试将 SampleScrollDownClickHandler 传递给 ms.OnRightClick(),有可能吗,我该怎么做,我试过这个,但我失败了:
ms.OnRightClick() = SampleScrollDownClickHandler();
我没有使用标准库!
【问题讨论】:
-
OnRightClick()似乎返回void所以,不,你不能像那样为它分配一个处理程序。请出示minimal reproducible example。 -
您似乎想要指向函数的指针,而
OnLeftClick已被注释掉。 -
void (*OnRightClick)() = nullptr;ms.OnRightClick = &SampleScrollDownClickHandler; -
感谢所有答案运行良好,我无法投票