【发布时间】:2020-12-18 16:39:02
【问题描述】:
我正在尝试将一个函数传递给一个类,并将一个类函数设置为传入的函数。
按钮.h
class Button
{
public:
Button(void(*onClick)());
~Button();
void onClick();
}
按钮.cpp
#include "Button.h"
Button::Button(void(*onClick)())
{
this->onClick = onClick;
}
当我尝试编译它时,我得到了
指向绑定函数的指针只能用于调用函数
【问题讨论】:
-
void onClick();应该类似于void (*onClick)();。您显然已经知道如何声明指向函数的指针——您是为构造函数的参数做的。所以以同样的方式声明你的数据成员。 -
这不是它的工作原理。
-
@IgorTandetnik 我刚刚尝试过,但它不起作用。
-
定义“不起作用”。你期望什么结果,你观察到什么?显示您当前正在编译的代码,以及它产生的任何错误消息。
-
@IgorTandetnik 没关系,谢谢
标签: c++ class function-pointers