1. 程式人生 > >error C2440: “static_cast”: 無法從“LRESULT ”轉換為“LRESULT

error C2440: “static_cast”: 無法從“LRESULT ”轉換為“LRESULT

首先出現這個錯誤:

BEGIN_MESSAGE_MAP(CClientDlg, CDialog)
    //{{AFX_MSG_MAP(CClientDlg)
    ON_WM_SYSCOMMAND()
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    ON_WM_TIMER()
    ON_MESSAGE(CM_RECEIVED,OnReceived)//這個出錯
    //}}AFX_MSG_MAP
END_MESSAGE_MAP()
void xx::OnReceived()
{
 // 你的實現程式碼塊。。。。。
}
error C2440: “static_cast
”: 無法從“void (__thiscall CClientDlg::* )(void)”轉換為“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)”

然後根據提示修改為:

LRESULT xx::OnReceived()
{
 // 你的實現程式碼塊。。。。。 當然 .h檔案也要修改
 //要返回值 隨便寫就可以了
 return 0;
}

然後提示出現另外一種錯誤:

error C2440: “static_cast”: 無法從“LRESULT (__thiscall CTextProgressCtrl::* )(UINT,LPCTSTR)”轉換為“LRESULT

不明覺厲 然後終於在網上找到資料

簡單修改一下就好

LRESULT xx::OnReceived(WPARAM wParam,LPARAM lParam)
{
 // 你的實現程式碼塊。。。。。 當然 .h檔案也要修改
 //不管你用不用兩個引數,也要帶上,不然報錯
  //要返回值 隨便寫就可以了
 return 0;
}

相關推薦

error C2440: “static_cast”: 無法LRESULT (__thiscall CTextProgressCtrl::* )(UINT,LPCTSTR)”轉換LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)

目標 div line rdquo ria 升級 ret error lpctstr 轉自原文 error C2440 “static_cast” 無法從“void (__thiscall C* )(void)...

error C2440: “static_cast”: 無法“void (__thiscall CMainFrame::* )(void)”轉換LRESULT (__thiscall CWnd

error C2440: “static_cast”: 無法從“void (__thiscall CMainFrame:? )(void)”轉換為“LRESULT (__thiscall CWnd:? )(WPARAM,LPARAM)” 在學習孫鑫《VC++深入

error C2440: “static_cast”: 無法LRESULT轉換LRESULT

首先出現這個錯誤: BEGIN_MESSAGE_MAP(CClientDlg, CDialog) //{{AFX_MSG_MAP(CClientDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON

C++ 無法void 轉換 LRESULT

“static_cast”: 無法從“void (__thiscall CGraspBmpDlg::* )(WPARAM,LPARAM)”轉換為“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)” 這行出問題 ON_MESSAGE(

VS2005 中error C2440: 如無法“const char [N]”轉換“LPCWSTR” 的一點總結

一般出現這種BUG 的,是由於字符集的問題。在vs2005中有兩個字符集,Unicode 和 Muti-bye。 LPCTSTR在Multi-byte Character方式下與const char*等價,在Unicode方式下與const tchar*等價。所以在Unic

error C2440: “=”: 無法“CString”轉換“const char *”

what a fucking problem!!!! 最簡單的方法是到專案屬性裡面去改一下字符集,可是噁心的是我的程式要是改了字符集的話,那麼噁心的問題又多了,都是字元間的轉換問題,google,baidu搜了有一個小時了,尼瑪還是沒有解決,先寫到這裡,我再接著去嘗試。2

error C2440: 如無法“const char [N]”轉換“LPCWSTR” 的一點總結

一般出現這種BUG 的,是由於字符集的問題。在vs2005中有兩個字符集,Unicode 和 Muti-bye。 LPCTSTR在Multi-byte Character方式下與const char*等價,在Unicode方式下與const tchar*等價。所以在U

error C2440: “初始化”: 無法“char *”轉換“int”

在用opencv寫程式時用到了main函式傳遞雙引數的問題,其中main為 int main(int argc, char* argv[]) {  IplImage* src = 0;  IplImage* dst = 0;    src = cvLoadImage(arg

牛客網——const二級指標報錯: 無法“int **”轉換“const int **”

喵哥在牛客網遇到這麼一題選擇題: class A { }; void f(const A** p) {} void g(const A * const *p) {} void k(const A*&p) {} int main() { const A * ca = new A();

無法CString 轉換wchar_t* 型別

解決這個問題需要走兩步,第一是將CString轉換為const char*型別,第二部是將const char*轉換為wchar_t*型別。 程式碼如下: CString imagepath; int count = 0; c

無法“CString”轉換“LPCSTR”

float inputdata=atof(LPCSTR(GetInputString()));m_StackData.push(inputdata);while(!m_StackOprator.isEmpty()&&!m_StackData.isEmpty(

解決 C2664 “char *strcpy(char *,const char *)”: 無法將引數 2 “CString”轉換“const char *”

在使用舊工程中的函式時, 在VS 2017上編譯出現如上問題, 但是該函式在之前的版本上可以正常編譯, 怎麼會出現這問題呢?難道不向前相容, 不應該, 一定是哪裡沒設定好, 在找資料查詢之後, 還是找到了, 記錄下, 方便大家也方便自己. 1. 編譯錯誤顯示圖

MFC 手動選擇文件夾並將文件夾地址CString轉換char[]數組

col end ref sizeof omid itemid pid flag span 1 BROWSEINFO bi; 2 ZeroMemory(&bi, sizeof(BROWSEINFO)); 3 bi.hwndOwner =

JAVA Enum指定值的應用(資料轉換Enum)

enum ACTION{ ac_Entry(10),ac_View(2),ac_Approve(5); private int _val; private static final Map<Integer,ACTION> keyMap=new HashMap<Int

Pandas DataFrame將多列資料一次性object轉換datetime

從CSV檔案中讀取資料後,很多日期型別資料為object。為了批量將這幾列轉換為datetime。怎麼做呢? 一、找出df的列名中有“date”日期的列 datel=[] for x in df.columns.tolist(): if 'date' in x: d

C#之將textbox獲取的值string轉換int值

測試程式碼:方法一try            {                int count1 = int.Parse(textBox2.Text); //string型別轉換int型別            }            catch (Exception

C++11新特性(66)- 用static_cast將左值轉換右值

溫故而知新 本文涉及兩個概念,static_cast和右值引用,在閱讀本文之前,最好先閱讀下面的文章。 使用std::move 考察下面兩個函式: 除了引數型別一個是左值引用,一個是右值引用以外都一樣。結合前面的文章可以得出下面的結論:左值引用表明這個

【VC++】不能將引數 1 “_TCHAR”轉換“const char* 問題解決

原因:2005預設的"使用 Unicode 字符集",解決:在你建立的解決方案的工程檔案的屬性看到選"配置屬性"的"字符集"請選擇"使用多位元組字符集"就可以了。 2005開啟6.0的檔案時候不會出現的這樣的錯誤,是因為編譯環境在轉換過程中進行了轉換. 這個解決辦法在vs 2008也適用。

C# 異常"關於物件不能DBNull轉換其他型別"

        最近Tony小編在完善一個系統時候,無意之中遇到了這個異常,後來經過度孃的指點,才得知這是在處理資料的時候如果資料庫裡面的值為null,就會出現的錯誤。 例如:num = Convert.ToInt32(dt.Rows[i][j]),如果此時dt.Rows[

inet_addr”: 不能將引數 1 “CString”轉換“const char *”1>

CString ipaddress; ipaddress = "192.168.39.207"; DWORD m_dwPuIp; m_dwPuIp = inet_addr(ipaddress);有一個錯誤:“inet_addr”: 不能將引數 1 從“CString”轉換為