VS2010 不能将参数 2 从“char [20]”转换为“LPCWSTR”的错误解决
生活随笔
收集整理的這篇文章主要介紹了
VS2010 不能将参数 2 从“char [20]”转换为“LPCWSTR”的错误解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.VS2010報錯
1>d:\users\yangtse\documents\visual studio 20010\projects\winmain\winmain\54.cpp(27) : error C2440: “=”: 無法 從“const char [14]”轉換為“LPCWSTR”與指向的類型無關;轉換要求 reinterpret_cast、C 樣式轉換或函數樣式轉換
1>d:\users\yangtse\documents\visual studio 2010\projects\winmain\winmain\54.cpp(35) : error C2664: “CreateWindowExW”: 不能將參數 2 從“const char [14]”轉換為“LPCWSTR”
與指向的類型無關;轉換要求 reinterpret_cast、C 樣式轉換或函數樣式轉換
1>d:\users\yangtse\documents\visual studio 2010\projects\winmain\winmain\54.cpp(65) : error C2664: “MessageBoxW”: 不能將參數 2 從“char [20]”轉換為“LPCWSTR”
與指向的類型無關;轉換要求 reinterpret_cast、C 樣式轉換或函數樣式轉換
2.問題解決的辦法
MessageBox(hwnd,szChar,"char",0);
MessageBox 在2010中定義為 MessageBoxW W指的是寬字節(也叫UNICODE),
有3種方法可解決 :
①用函數MessageBoxA?
②在內容前加上TEXT(對變量無效),如MessageBox(hwnd,szChar,TEXT("char"),0);
③在項目屬性->常規中,把Uicode改成多字符段。
PS:在2010中,很多函數的返回值都是寬字節的,所以不一定要用MessageBoxA 。在MSDN上可以查到用寬字節的函數和同樣功能普通函數的名稱。?在6.0中沒用寬字節
總結
以上是生活随笔為你收集整理的VS2010 不能将参数 2 从“char [20]”转换为“LPCWSTR”的错误解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小波的秘密10_小波包的数学支撑
- 下一篇: 『飞秋』关于ASP.NET MVC+Re