2 回答
TA貢獻1869條經(jīng)驗 獲得超4個贊
首先看看這個宏 ON_MESSAGE(message,OnMyMessage); OnMyMessage返回值必須為LRESULT,其形式為:afx_msg LRESULT OnMyMessage(WPARAM, LPARAM);如果不符合,則有錯誤提示: error C2440: “static_cast”: 無法從“void (__thiscall CPppView::* )(WPARAM,LPARAM)”轉(zhuǎn)換為“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)” 在匹配目標類型的范圍內(nèi)沒有具有該名稱的函數(shù)
這樣總算找到問題了,原來那個消息處理函數(shù)返回值是VOID,改了改,返回LRESULT,在函數(shù)結(jié)尾加了個return NULL, OK,這樣總算通過了。
參數(shù)加上::WPARAM wParam,LPARAM lParam
TA貢獻2051條經(jīng)驗 獲得超10個贊
你把函數(shù)指針定義改成這樣就可以了
class CSceneManager ;//先聲明類
typedef bool (CSceneManager::*FnOnEvent)(const IMessage &msg);
這才是指向類成員函數(shù)的指針。
- 2 回答
- 0 關(guān)注
- 824 瀏覽
添加回答
舉報
