C ++将函数指针分配给另一个

奥斯卡·加西亚·洛伦兹(Oscar Garcia Lorenz)

我想做一个存储函数指针的类,但是当我想将它们存储在成员变量中时,出现此错误:

无效使用成员函数(您是否忘记了'()'?)

¿我的错误在哪里?

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);

};

谢谢

塞尔吉奥
void * onPressFunction(void);
void * onReleaseFunction(void);

这些是成员函数的声明,而不是函数指针。要声明指向函数的指针,请使用:

void (*onPressFunction)(void);
void (*onReleaseFunction)(void);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在C中将一个结构分配给另一个

C#:将数组分配给另一个数组:复制还是指针交换?

C将int分配给函数指针

为什么我不能在C ++中将一个迭代器分配给另一个?

C:将二维数组分配给另一个数组

如何在C#中将对象列表中的值分配给另一个列表

在C ++中将数组的值分配给另一个数组的索引

C:初始化一个结构并将其分配给函数参数中的指针

是否可以将C ++指针分配给Python对象的属性,然后在另一个C ++函数中将其作为C ++指针检索?

C ++如何在将新对象分配给另一个对象的同时创建它

将另一个子类的对象分配给指向的地址[C ++]

C#将指向引用类型的变量分配给另一个变量,后者中存储了什么?

将malloc变量也分配给另一个变量后,应该如何释放它?(C语言)

将点的坐标分配给另一个OpenCV C ++

将结构的一部分分配给c中的另一个结构

Objective-C:将一个CGPoint分配给另一个不起作用

什么时候在c ++中调用了复制构造函数,当我将一个对象分配给另一个对象时是否不调用它?

将一个结构分配给C中一个结构内的另一个结构

C将数组索引分配给另一个

C#将数组元素分配给另一个数组

C ++ Arduino:将函数分配给函数指针

在C ++中将一个类对象分配给另一个类对象

C 将字符串分配给另一个字符串导致 realloc():下一个大小无效

为什么将一个分配给另一个的方法与在 C++ 中分配两个单独的变量不同?

方法返回的指针未正确分配给 C 中定义的另一个指针

将 string[] 数组字段分配给另一个相同类型的数组字段 c#

将属性地址分配给另一个属性(参考)。更改另一个属性时更改属性。C#

将一个分配的指针分配给另一个分配的指针

尝试将 GameObject 分配给另一个脚本中的变量(Unity C#)