VS2005 中error C2440: 如無法從“const char [N]”轉換為“LPCWSTR” 的一點總結
一般出現這種BUG 的,是由於字符集的問題。在vs2005中有兩個字符集,Unicode 和 Muti-bye。
LPCTSTR在Multi-byte Character方式下與const char*等價,在Unicode方式下與const tchar*等價。所以在Unicode方式下對其賦值像下面這樣:
LPCTSTR location = _T("Software//");//加_T進行轉化
否則報錯:error C2440: “初始化”: 無法從“const char [10]”轉換為“LPCTSTR”
同樣在Unicode方式下對於AfxMessageBox(_T("Software//"));
否則報錯: error C2665: “AfxMessageBox”: 2 個過載中沒有一個可以轉換所有引數型別
遇到這種BUG的修改方法為:
1.中文版:
工程-》設定屬性-》配置屬性-》常規-》專案預設值-》字符集
注意:
原來是Unicode (安裝時的預設值)
改為使用多字符集 。如下圖中彩色部分,自己看吧!
2.英文版:
Project-》Properties-》Configuration Properties-》General-》Project Defaults-》Character Set
相關推薦
VS2005 中error C2440: 如無法從“const char [N]”轉換為“LPCWSTR” 的一點總結
一般出現這種BUG 的,是由於字符集的問題。在vs2005中有兩個字符集,Unicode 和 Muti-bye。 LPCTSTR在Multi-byte Character方式下與const char*等價,在Unicode方式下與const tchar*等價。所以在Unic
error C2440: 如無法從“const char [N]”轉換為“LPCWSTR” 的一點總結
一般出現這種BUG 的,是由於字符集的問題。在vs2005中有兩個字符集,Unicode 和 Muti-bye。 LPCTSTR在Multi-byte Character方式下與const char*等價,在Unicode方式下與const tchar*等價。所以在U
error C2664: “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 無法將參數 1 從“const char [9]”轉換為“LPCTSTR”
報錯 連接失敗 更新 vs2015 轉換 nbsp b-s ons code error C2664: “int CWnd::MessageBoxW(LPCTSTR,LPCTSTR,UINT)”: 無法將參數 1 從“const char [9]”轉換為“LPCTSTR”
C++ 錯誤提示:無法將引數1從const char [8] 轉換為char *
#include <iostream> using namespace std; void test(char * p) { cout << p << endl; } int main(void) { test("geerniya")
無法將引數1從“const char [6]”轉換為“char *”的解決方法
有一些C++程式在VS2017上執行會有一些錯誤,而在vc6.0中卻能執行出來。接下來的一個程式就是我在vs2017上執行出現錯誤,而在vc6.0上執行出來。但我已經通過分析vs2017上錯誤來源解決了該問題,並以此作為分享。例項碼:#include<i
C++編譯出現 error C2664: 不能將引數 2 從“const char [5]”轉換為“LPCTSTR”解決辦法。
原因:編譯程式的時候出現這樣的錯誤,原因是在新建MFC專案的時候,設定字符集Unicode的屬性 解決方法一: 在VS的解決方案管理器視窗內,右擊你的專案“專案”,然後選“屬性”(最後一項),再點“配
VC2008編譯出現error2664錯誤:Format(const wchar_t *,...)”:不能將引數 1 從“const char [4]”轉換為“const wchar_t *”
void scesjk::OnBnClickedButton1() //資料記錄 { // TODO: 在此新增控制元件通知處理程式程式碼 UpdateData(true); m_set.Open(); m_set.A
[error2664:Format(const wchar_t *,...)”:不能將引數 1 從“const char [4]”轉換為“const wchar_t *”]的解決
void scesjk::OnBnClickedButton1() //資料記錄 { // TODO: 在此新增控制元件通知處理程式程式碼 UpdateData(true); m_set.Open(); m_set.A
:MessageBoxW”: 不能將引數 1 從“const char [5]”轉換為“LPCTSTR” 1> 與指向的型別無關;轉換要求 reinterpret_cast、C 樣式
MessageBox("系統選單","提示",MB_OK|MB_ICONINFORMATION); MessageBox(_T("系統選單"),_T("提示"),MB_OK|MB_ICONINFORMATION); 或MessageBox(L"系統選單",L"提示"
不能將引數 2 從“const char [7]”轉換為“LPCTSTR”問題解決辦法
如下語句: ctrlList.InsertColumn(0, "屬性頁", LVCFMT_LEFT, 300, 0); 使用VS2005編譯時提示如下錯誤資訊: error C2664: “int CListCtrl::InsertColumn(int,LPCTSTR,in
error C2440: “初始化”: 無法從“const char *”轉換為“char *”
onst char* pc_char = 0; char *cP = pc_char; ////////////////////////////////////////////////// const char* pc_char = 0; char *cP = co
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++深入
關於 錯誤 C2440 “初始化”: 無法從“const char *”轉換為“cv::Formatted *”的一種可能
嚴重性 程式碼 說明 專案 檔案 行 禁止顯示狀態 錯誤 C2440 “初始化”: 無法從“const char *”轉換為“cv::Formatted *” f:\opencv\opencv\build\include\opencv2\core\ptr.inl
error C2440: “static_cast”: 無法從“LRESULT ”轉換為“LRESULT
首先出現這個錯誤: BEGIN_MESSAGE_MAP(CClientDlg, CDialog) //{{AFX_MSG_MAP(CClientDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON
VS2008中關於“MessageBoxW”: 不能將引數 2 從“char [20]”轉換為“LPCWSTR”的錯誤解決
問題:1>d:\users\yangtse\documents\visual studio 2008\projects\winmain\winmain\54.cpp(27) : error C2440: “=”: 無法從“const char [14]”轉換為“LPCW
解決不能從CONST CHAR *轉換為LPCWSTR
有時候複製了整個框架程式確發現有編譯不通過的問題,命名人家的程式編譯能通過,到了自己編譯的時候卻編譯不能通過,這個時候也許有各種問題,有些問題讓人匪夷所思。 編譯器有時候會根據編碼方式來選擇定義為LPCWSTR還是LPCTSTR LPSTR: 32bit
實戰c++中的string系列--string與char*、const char *的轉換(data() or c_str())
在工程中,我們也有很多時候用到string與char*之間的轉換,這裡有個一我們之前提到的函式 c_str(),看看這個原型: const char *c_str(); c_str()函式返回一個指向正規C字串的指標, 內容與本string串相同. 這
劍指offer:整數中1出現的次數(從1到n整數中1出現的次數)
題目描述 求出1~13的整數中1出現的次數,並算出100~1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。ACMer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數(
JNI中很有用的jstring 與 const char* 的相互轉換函式
JNT中很有用的jstring 與 const char* 的相互轉換函式 我們使用JNI的時候經常碰到jstring 與 const char*轉換的問題,以及中文編碼問題,這裡從網上看到的2個比較好的相互轉換函式,今天把它摘錄下來,以備用之。呵呵。 //將const c