找回密码
 注册

微信扫码登录

使用验证码登录

只需一步,快速开始

胜天工科技销售各种数字电视信号调制卡胜天工科技销售各种数字电视信号码流卡

【游客、新手、注册会员的区别】 【积分策略和会员晋级说明】 【发帖和附件上传规则】 【如何下载感兴趣的资料】 【如何获取梦游币】 【侵权资料处理及免责说明】
查看: 3628|回复: 0

ISO C++ forbids taking the address of a bound member function to form a point

[复制链接]
  • TA的每日心情
    开心
    2026-4-27 11:48
  • 签到天数: 4186 天

    [LV.Master]伴坛终老

    发表于 2008-9-10 17:46:53 | 显示全部楼层 |阅读模式
    分享到:
    消息来自- 北京
    调试中遇见这个报错信息,
    ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say '&ZButton::OnKeyPress'

    实际代码如下,
    ZEvent_t ZButton::OnKeyPress( FEICmd_Key_t key )
    {
    if( key == ZSERVER_SELECT_KEY )
    {
    return (ZEvent_t)EVENT_BN_CLICKED ;
    }
    return EVENT_UNKNOWN_MESSAGE;
    }

    FEI_ON_KEYPRESS_MESSAGE( OnKeyPress )

    #define FEI_ON_KEYPRESS_MESSAGE(memberFxn)\
    {MESSAGE_REMOTE_FRONT_KEYBOARD, MSG_KEYPRESS, ANY_INSID, (ZEvent_t)EVENT_UNKNOWN_MESSAGE, (FEI_PMSG)&memberFxn},


    怎么解决?
    Because the syntax of C++. The expression &T::f is a pointer to member. No other syntax will do, not T::f or &(T::f) or just plain f.

    所以,我修改如下:
    FEI_ON_KEYPRESS_MESSAGE(&ZButton::OnKeyPress )
    #define FEI_ON_KEYPRESS_MESSAGE(memberFxn)\
    {MESSAGE_REMOTE_FRONT_KEYBOARD, MSG_KEYPRESS, ANY_INSID, (ZEvent_t)EVENT_UNKNOWN_MESSAGE, (FEI_PMSG)memberFxn},
    好了。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|数字电视开发网 ( 京ICP备16008897号-5 )

    GMT+8, 2026-5-14 13:52 , Processed in 0.057441 second(s), 23 queries , Gzip On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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