我有一类 SFAPin,并且有一种方法:
SFAPin::addListener(void (*)(SFAPinEvent&), uint8_t){};
但是当我尝试为这个方法传递另一个类的一个方法时:
void InitialState::lightChange(SFAPinEvent &event){};
light.addListener(&this->lightChange, SFAPinEvent:PIN_CHANGE);
我得到:
错误:没有匹配函数调用 'SFAPin::addListener(void (InitialState::*)(SFAPinEvent&), uint8_t)' 注意:候选人是:void SFAPin::addListener(void (*)(SFAPinEvent&), uint8_t)
如果 lightChange 是一种静态方法,则使用以下方法效果很好:
light.addListener(lightChange, SFAPinEvent:PIN_CHANGE);
但我不想要静态方法
我该如何解决?谢谢