我想做一个存储函数指针的类,但是当我想将它们存储在成员变量中时,我得到这个错误:
无效使用成员函数(你忘记了'()'吗?)
¿我的错误在哪里?
class Button {
public:
Button(PS3USB * ps3, ButtonEnum button, void (*onPress)(void) = nullptr,
void (*onRelease)(void) = nullptr) {
PS3 = ps3;
status = false;
ERROR ---> onPressFunction = onPress; <--- ERROR
ERROR ---> onReleaseFunction = onRelease; <--- ERROR
id = button;
}
void check() {
if (PS3->getButtonClick(id) && !status) {
if (onPressFunction != nullptr) {
onPressFunction();
}
status = !status;
} else if (!PS3->getButtonClick(id) && status) {
if (onReleaseFunction != nullptr) {
onReleaseFunction();
}
status = !status;
}
}
private:
bool status;
PS3USB * PS3;
ButtonEnum id;
void * onPressFunction(void);
void * onReleaseFunction(void);
};
Run Code Online (Sandbox Code Playgroud)
谢谢
void * onPressFunction(void);
void * onReleaseFunction(void);
Run Code Online (Sandbox Code Playgroud)
这些是成员函数的声明,而不是函数指针.要声明指向函数的指针,请使用:
void (*onPressFunction)(void);
void (*onReleaseFunction)(void);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
657 次 |
| 最近记录: |