在匹配目标类型的范围内没有具有该名称的函数
2 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
首先看看这个宏 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贡献2051条经验 获得超10个赞
你把函数指针定义改成这样就可以了
class CSceneManager ;//先声明类
typedef bool (CSceneManager::*FnOnEvent)(const IMessage &msg);
这才是指向类成员函数的指针。
- 2 回答
- 0 关注
- 740 浏览
添加回答
举报
0/150
提交
取消