2 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
首先看看這個(gè)宏 ON_MESSAGE(message,OnMyMessage); OnMyMessage返回值必須為LRESULT,其形式為:afx_msg LRESULT OnMyMessage(WPARAM, LPARAM);如果不符合,則有錯(cuò)誤提示: error C2440: “static_cast”: 無法從“void (__thiscall CPppView::* )(WPARAM,LPARAM)”轉(zhuǎn)換為“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)” 在匹配目標(biāo)類型的范圍內(nèi)沒有具有該名稱的函數(shù)
這樣總算找到問題了,原來那個(gè)消息處理函數(shù)返回值是VOID,改了改,返回LRESULT,在函數(shù)結(jié)尾加了個(gè)return NULL, OK,這樣總算通過了。
參數(shù)加上::WPARAM wParam,LPARAM lParam

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
你把函數(shù)指針定義改成這樣就可以了
class CSceneManager ;//先聲明類
typedef bool (CSceneManager::*FnOnEvent)(const IMessage &msg);
這才是指向類成員函數(shù)的指針。
- 2 回答
- 0 關(guān)注
- 948 瀏覽
添加回答
舉報(bào)