error C2440: “static_cast”: 无法从“UINT (__thiscall CSizingControlBar::* )(CPoint)”转换为“LRESULT (__thiscall CWnd::* )(CPoint)”

阿紫 posted @ 2012年4月11日 17:54 in c/c++ with tags c++ , 3685 阅读

 

    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的等级都是标准转换,所以编译器无法判断到底应该转换到哪一个,所以就导致了这个问题,所以应该强制转换。

李帅 说:
2012年4月11日 21:14

流水帐啊~流水帐啊~


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter