错误如下:
error C2440: 'static_cast' : cannot convert from 'void (__thiscall CChatDlg::* )(WPARAM,LPARAM)' to 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
1>        None of the functions with this name in scope match the target type如何解决这个问题?望高手解决。一部分程序:
afx_msg void OnRecvData(WPARAM wParam,LPARAM lParam);
BEGIN_MESSAGE_MAP(CChatDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_MESSAGE(WM_RECVDATA,OnRecvData)
END_MESSAGE_MAP()

解决方案 »

  1.   

    afx_msg void OnRecvData(WPARAM wParam,LPARAM lParam);
    把这里的void 改为LRESULT.
      

  2.   

    afx_msg void OnRecvData(WPARAM wParam,LPARAM lParam);==>
    afx_msg LRESULT 
    OnRecvData(WPARAM wParam,LPARAM lParam);
      

  3.   

    afx_msg LRESULT OnRecvData(WPARAM wParam,LPARAM lParam);
      

  4.   

    error C2440: 'initializing' : cannot convert from 'char *' to 'ATL::CStringT<BaseType,StringTraits>这个问题又怎么解决。?
      

  5.   

    源代码:
    LRESULT CChatDlg::OnRecvData(WPARAM wParam,LPARAM lParam){ CString str=(char*)lParam;
    CString strTemp; GetDlgItemText(IDC_EDIT_RECV,strTemp);
    str+="\r\n";
    str+=strTemp;
    SetDlgItemText(IDC_EDIT_RECV,str);
    }
      

  6.   

    把OnRecvData的返回类型改为LRESULT
    在函数最后返回return 0
      

  7.   

    char * sstr =(char*)lParam;
    CString str(sstr);
      

  8.   

    CString str=(char*)lParam;
    这句错了
    改为:char* str=(char*)lParam;