在匹配目标类型的范围内没有具有该名称的函数
2 回答
Qyouu
TA贡献1786条经验 获得超11个赞
首先看看这个宏 ON_MESSAGE(message,OnMyMessage); OnMyMessage返回值必须为LRESULT,其形式为:afx_msg LRESULT OnMyMessage(WPARAM, LPARAM);如果不符合,则有错误提示: error C2440: “static_cast”: 无法从“void (__thiscall CPppView::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)” 在匹配目标类型的范围内没有具有该名称的函数
这样总算找到问题了,原来那个消息处理函数返回值是VOID,改了改,返回LRESULT,在函数结尾加了个return NULL, OK,这样总算通过了。
参数加上::WPARAM wParam,LPARAM lParam
皈依舞
TA贡献1851条经验 获得超3个赞
你把函数指针定义改成这样就可以了
class CSceneManager ;//先声明类
typedef bool (CSceneManager::*FnOnEvent)(const IMessage &msg);
这才是指向类成员函数的指针。
- 2 回答
- 0 关注
- 871 浏览
添加回答
举报
0/150
提交
取消