炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3315|回复: 5

关于C++ 多重继承后,XCGUI_RegEleEvent的问题

[复制链接]

该用户从未签到

发表于 2013-3-27 18:29:56 | 显示全部楼层 |阅读模式
本帖最后由 flysec 于 2013-3-27 18:31 编辑

如果UI类只从CXEventMsg继承,调用XCGUI_RegEleEvent注册函数没有问题如果UI类从CXEventMsg和另外一个自己定义的类继承,如UIPageMain

那么调用XCGUI_RegEleEvent后,就提示编译错误

error C2440: “reinterpret_cast”: 无法从“BOOL (__thiscall UIPageMain::* )(HELE,HELE)”转换为“void (__thiscall CXEventMsg::* )(void)”
指向成员的指针有不同的表示形式;无法在它们之间进行类型转换

这是注册XE_BNCLICK事件

请问管理员这个问题有办法解决么
  • TA的每日心情
    开心
    2022-1-9 18:18
  • 发表于 2013-3-28 23:15:27 | 显示全部楼层
    那你就单独写个类,接收消息事件.

    该用户从未签到

     楼主| 发表于 2013-4-3 20:00:43 | 显示全部楼层
    admin 发表于 2013-3-28 23:15
    那你就单独写个类,接收消息事件.

    多谢管理员,确实这么做了。OK了

    该用户从未签到

    发表于 2013-5-7 14:13:52 | 显示全部楼层
    遇到了同样的问题,如:class CCC : public AAA, BBB,就会出现楼主所述的问题,现在貌似只能单独写个类来解决,有没有更好的方法呢?

    该用户从未签到

     楼主| 发表于 2013-5-12 22:14:50 | 显示全部楼层
    xkjy3000 发表于 2013-5-7 14:13
    遇到了同样的问题,如:class CCC : public AAA, BBB,就会出现楼主所述的问题,现在貌似只能单独写个类来 ...

    你搜一下C++委托。用委托的办法可以实现观察者(支持模板)

    该用户从未签到

    发表于 2013-5-18 19:35:19 | 显示全部楼层
    感谢flysec,正在查找相关资料
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

    GMT+8, 2024-9-20 05:47 , Processed in 0.068731 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表