글
VS 2003이나 VS2005에서
만든 VC++의 MFC 프로젝트를 VS2008로 업그레이드 했을 때 아래와 같은 에러가 발생할 수 있습니다.
error C2440: 'static_cast' : cannot convert
from 'UINT (__thiscall CXXX::* )(CPoint)' to 'LRESULT (__thiscall CWnd::*
)(CPoint)'
이것은 VS2005에서는 ON_WM_NCHITTEST 메시의 함수로
afx_msg UINT OnNcHitTest(CPoint point);
로 정의 되지만 VS2008에서는
afx_msg LRESULT OnNcHitTest(CPoint point);
로 정의 되기 때문에 발생하는 문제입니다.
해결 방법
함수의 반환 타입을 UINT에서 LRESULT로 바꾸면 해결됩니다.
댓글