从另一类调用一个类的成员函数

QT-ITK-VTK-帮助

我在一段包含一些事件处理对象的代码中遇到了这个问题。在事件处理类中,我试图通过指针调用另一个类的函数,但是它与该代码所具有的错误相同,我已经实现了该错误,只是检查了我要在其中调用的逻辑。我在这里做什么错?

#include <iostream>
using namespace std;
class FunctionPointer;
class UseFP
{
public:
    UseFP(void){}
    ~UseFP(void){}

    void Modified(int m,int n);
    void (FunctionPointer::*update)(int,int);

};

void UseFP::Modified(int m,int n)
    {
            //(this->*update)(m,n);// call by fp if I uncomment it it gives error.
    }

class FunctionPointer
{
    int a,b;
    UseFP * obj;
public:
    FunctionPointer(void);

    ~FunctionPointer(void);

    void updateData(int m, int n)
    {
        a = m;
        b = n;
        cout<<"\n\nUpdated: a "<<a<<", b "<<b<<endl;
    }

    void Input()
    {
        int m, n;
        cout<<"\nEnter new data: ";
        cin>>m>>n;
        obj->Modified(m,n);
    }
    };

void main()
{
    FunctionPointer obj;
    obj.Input();
}

取消注释函数调用后出现错误

1>------ Build started: Project: FunctionPointer, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>c:\users\volmo\desktop\functionpointer\functionpointer\functionpointer.h(14) : error C2440: 'newline' : cannot convert from 'UseFP *const ' to 'FunctionPointer *const '
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\users\volmo\desktop\functionpointer\functionpointer\functionpointer.h(14) : error C2647: '->*' : cannot dereference a 'void (__thiscall FunctionPointer::* )(int,int)' on a 'UseFP *const '
1>Generating Code...
1>Compiling...
1>FunctionPointer.cpp
1>c:\users\volmo\desktop\functionpointer\functionpointer\functionpointer.h(14) : error C2440: 'newline' : cannot convert from 'UseFP *const ' to 'FunctionPointer *const '
1>        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\users\volmo\desktop\functionpointer\functionpointer\functionpointer.h(14) : error C2647: '->*' : cannot dereference a 'void (__thiscall FunctionPointer::* )(int,int)' on a 'UseFP *const '
1>Generating Code...
1>Build log was saved at "file://c:\Users\volmo\Desktop\FunctionPointer\FunctionPointer\Debug\BuildLog.htm"
1>FunctionPointer - 4 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Angew不再为SO感到骄傲

update被键入为“指向类成员函数的指针FunctionPointer。这意味着它需要FunctionPointer在左边的一个实例->*。但是您正在尝试取消引用this类型为的实例UseFP。因此会出现错误。

您需要一个实例来对其FunctionPointer进行调用update我不知道您打算使用的语义是什么,但是一种获取语义的方法是向中添加一个参数Modified

void UseFP::Modified(FunctionPointer &fp, int m,int n)
    {
            (fp.*update)(m,n);
    }

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一类的成员函数返回ENUM(在一个类中定义)

来自分类Dev

一个类应使用函数指针调用另一类的方法

来自分类Dev

从一个类的主体调用,从另一类的主体方法调用

来自分类Dev

在执行操作时从另一类调用一个类

来自分类Dev

一个类在Java中“使用”另一类?实现“ uses-a”类

来自分类Dev

如何从另一类的一个类访问变量?SWIFT代码

来自分类Dev

如何使用另一类的on单击方法传递一个类的值

来自分类Dev

在另一类的方法中使用一个类中的方法

来自分类Dev

使用另一类打印一个类的多个实例

来自分类Dev

将一个类对象转换为另一类对象

来自分类Dev

如何从另一类的一个类访问变量?SWIFT代码

来自分类Dev

想要一个静态成员函数来调用同一类的成员变量

来自分类Dev

一类的成员变量可以在另一类的方法中使用吗?

来自分类Dev

另一类的方法调用Lua

来自分类Dev

CSS一类忽略另一类

来自分类Dev

一类覆盖另一类的属性

来自分类Dev

如何在python中获取另一类中一个类的一个变量的引用?

来自分类Dev

从一类调用方法到另一类?

来自分类Dev

从一类到另一类的方法调用不起作用?

来自分类Dev

从一类调用方法到另一类?

来自分类Dev

一类的对象的静态数组在另一类/构造函数中

来自分类Dev

如何在iOS中将NSobject类数据从一个类传递到另一类?

来自分类Dev

同一类的另一个构造函数中的c ++调用构造函数

来自分类Dev

将一个类传递给另一类的构造函数时,C ++没有默认的构造函数错误

来自分类Dev

将一个指向成员函数的指针转换为同一类的另一个

来自分类Dev

在检查员中隐藏一个类中的字段,但不在另一类中

来自分类Dev

为什么在C ++中可以将一个类的指针强制转换为另一类的指针?

来自分类Dev

我如何将一个类的Iterable转换为另一类的Iterable?

来自分类Dev

将一个类的对象添加到另一类的对象并检查Python中的重复项

Related 相关文章

  1. 1

    从另一类的成员函数返回ENUM(在一个类中定义)

  2. 2

    一个类应使用函数指针调用另一类的方法

  3. 3

    从一个类的主体调用,从另一类的主体方法调用

  4. 4

    在执行操作时从另一类调用一个类

  5. 5

    一个类在Java中“使用”另一类?实现“ uses-a”类

  6. 6

    如何从另一类的一个类访问变量?SWIFT代码

  7. 7

    如何使用另一类的on单击方法传递一个类的值

  8. 8

    在另一类的方法中使用一个类中的方法

  9. 9

    使用另一类打印一个类的多个实例

  10. 10

    将一个类对象转换为另一类对象

  11. 11

    如何从另一类的一个类访问变量?SWIFT代码

  12. 12

    想要一个静态成员函数来调用同一类的成员变量

  13. 13

    一类的成员变量可以在另一类的方法中使用吗?

  14. 14

    另一类的方法调用Lua

  15. 15

    CSS一类忽略另一类

  16. 16

    一类覆盖另一类的属性

  17. 17

    如何在python中获取另一类中一个类的一个变量的引用?

  18. 18

    从一类调用方法到另一类?

  19. 19

    从一类到另一类的方法调用不起作用?

  20. 20

    从一类调用方法到另一类?

  21. 21

    一类的对象的静态数组在另一类/构造函数中

  22. 22

    如何在iOS中将NSobject类数据从一个类传递到另一类?

  23. 23

    同一类的另一个构造函数中的c ++调用构造函数

  24. 24

    将一个类传递给另一类的构造函数时,C ++没有默认的构造函数错误

  25. 25

    将一个指向成员函数的指针转换为同一类的另一个

  26. 26

    在检查员中隐藏一个类中的字段,但不在另一类中

  27. 27

    为什么在C ++中可以将一个类的指针强制转换为另一类的指针?

  28. 28

    我如何将一个类的Iterable转换为另一类的Iterable?

  29. 29

    将一个类的对象添加到另一类的对象并检查Python中的重复项

热门标签

归档