One*_*nDc 4 mfc visual-studio-2010 visual-c++
我试图在Visual Studio 2010中构建一个MFC Visual Studio 6.0项目.编译器给我一个错误:
错误C2440:'static_cast':无法从'void(__ thiscall ProgressDialog ::*)(void)'转换为'LRESULT(__ thiscall CWnd ::*)(WPARAM,LPARAM)'
// --------------------------------- //消息地图
BEGIN_MESSAGE_MAP(ProgressDialog,CDialog)ON_BN_CLICKED(IDC_CANCEL,OnCancelClicked) ON_MESSAGE(MSG_FINISHED,OnFinished)END_MESSAGE_MAP()
有什么建议 - ?
佩德罗
将ON_MESSAGE宏更改为ON_MESSAGE_VOID.ON_MESSAGE宏从接收WPARAM和LPARAM参数返回LRESULT.您的编译器错误消息指出您的OnFinished()方法是返回void的void参数.这就是ON_MESSAGE_VOID宏处理的内容.
加成:
请参阅C++ Q&A的底部- Microsoft Systems Journal July 1999