[轉]“static_cast”: 無法從“UINT (__thiscall CSizingControlBar::* )(CPoint)”轉換為“LRESULT (__thiscall CWnd::* )(CPoint)”


error C2440: “static_cast”: 無法從“UINT (__thiscall CSizingControlBar::* )(CPoint)”轉換為“LRESULT (__thiscall CWnd::* )(CPoint)”    f:\tools\4bands ifx_xmm2130_ft\common\sizecbar.cpp    109

CWnd類,afx_msg LRESULT OnNcHitTest(CPoint point);

而在CSizingControlBar中是afx_msg UINT OnNcHitTest(CPoint point);

只要將這些UINT替換為LRESULT就可以了。

 

查找OnNcHitTest,將下面兩行:

afx_msg UINT OnNcHitTest(CPoint point);//.h

UINT CTestDlg::OnNcHitTest(CPoint point);//.cpp

改為:

afx_msg LRESULT OnNcHitTest(CPoint point);//.h

LRESULT CTestDlg::OnNcHitTest(CPoint point);//.cpp

 

另外一個小問題:

CString atMyCmd;

atMyCmd+=0x0d;

編譯時出現“operator+=不明確”。改正方法:atMyCmd+=(char)0x0d;因為從unsigned int轉換到CString和char的等級都是標准轉換,所以編譯器無法判斷到底應該轉換到哪一個,所以就導致了這個問題,所以應該強制轉換。

 

【參考資料 感謝作者】
1、error C2440: “static_cast”: 無法從“UINT (__thiscall CSizingControlBar::* )(CPoint)”轉換為“LRESULT (__thiscall CWnd::* )(CPoint)”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM