C++編譯出現 error C2664: 不能將引數 2 從“const char [5]”轉換為“LPCTSTR”解決辦法。
原因:編譯程式的時候出現這樣的錯誤,原因是在新建MFC專案的時候,設定字符集Unicode的屬性
解決方法一:
在VS的解決方案管理器視窗內,右擊你的專案“專案”,然後選“屬性”(最後一項),再點“配置屬性”,是個“+”號,把它展開,然後選“常規”選項卡,倒數第三項“字符集”,選擇“使用多位元組字符集”。問題解決。
解決方法二:
使用呼叫CString::AllocSysString();
例如:
CString str_cap("haha");
(const WCHAR *)(str_cap.AllocSysString());
(LPCTSTR)(str_cap.AllocSysString()); 同上面效果相同
相關推薦
C++編譯出現 error C2664: 不能將引數 2 從“const char [5]”轉換為“LPCTSTR”解決辦法。
原因:編譯程式的時候出現這樣的錯誤,原因是在新建MFC專案的時候,設定字符集Unicode的屬性 解決方法一: 在VS的解決方案管理器視窗內,右擊你的專案“專案”,然後選“屬性”(最後一項),再點“配
: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
C++ 錯誤提示:無法將引數1從const char [8] 轉換為char *
#include <iostream> using namespace std; void test(char * p) { cout << p << endl; } int main(void) { test("geerniya")
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
無法將引數1從“const char [6]”轉換為“char *”的解決方法
有一些C++程式在VS2017上執行會有一些錯誤,而在vc6.0中卻能執行出來。接下來的一個程式就是我在vs2017上執行出現錯誤,而在vc6.0上執行出來。但我已經通過分析vs2017上錯誤來源解決了該問題,並以此作為分享。例項碼:#include<i
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”
MFC遇到的一個字符集問題:不能將引數1從“const char []”轉換為“LPCTSTR”
1、ANSI(即MBCS):為多位元組字符集,它是不定長表示世界文字的編碼方式。ANSI表示英文字母時就和ASCII一樣,但表示其他文字時就需要用多位元組。2、Unicode:用兩個位元組表示一個字元的編碼方式。比如字元'A'在ASCII下面用一個位元組表示,而在Unicode下面用兩個位元組表示,其中高位元
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
解決 C2664 “char *strcpy(char *,const char *)”: 無法將引數 2 從“CString”轉換為“const char *”
在使用舊工程中的函式時, 在VS 2017上編譯出現如上問題, 但是該函式在之前的版本上可以正常編譯, 怎麼會出現這問題呢?難道不向前相容, 不應該, 一定是哪裡沒設定好, 在找資料查詢之後, 還是找到了, 記錄下, 方便大家也方便自己. 1. 編譯錯誤顯示圖
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
Android編譯出現com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536錯誤解決辦法
踩過的坑, 以下操作,必須在app module中進行。 ========================================== ** Android編譯出現com.android.dex.DexIndexOverflowException: method ID not i
git 上傳至github出現error:your local changes to the following files would to be overwritten解決辦法
git 在上傳的時候出現瞭如下錯誤,當我從dev分支切換到主分支的時候出現了這個錯誤。修改的程式碼需要覆蓋。ok,那在切換之前咱們按照提示 it 先檢視一下跟蹤的檔案的狀態 git status 結果如下: 然後我們新增一下這個檔案。 這樣,我們就可以把已經修改
error C2440: “初始化”: 無法從“const char *”轉換為“char *”
onst char* pc_char = 0; char *cP = pc_char; ////////////////////////////////////////////////// const char* pc_char = 0; char *cP = co
關於C++程式編譯出現error C2143: syntax error : missing ';' before 'type'的解決辦法
規則都是人定的,為什麼我不知道QAQ。(>﹏<。)~嗚嗚嗚…… 在純C中,在一個程式碼塊中變數宣告必須在最前面 在執行程式時發現了一個問題,用 VC 6.0 編譯 C語言是 總是提
實現簡易字串壓縮演算法:由字母a-z或者A-Z組成,將其中連續出現2次以上(含2次)的字母轉換為字母和出現次數,
@Test public void test1(){ String content1 = "AAAAAAAAAAAAAAAAAAAAAAAAttBffgfaaddddddsCDaaaBBBBdddfdsgggggg"; String result = yasuo(content1);
Kernel編譯出現error, forbidden warning
這是在編譯的過程中,由於程式碼不符合規範所致,比如型別轉換時未強制轉化,或者定義了某些變數或者函式卻沒有使用,這些都會出現警告,而警告將會被看做錯誤來處理。 修改自己的程式碼,將出現的警告全部解決掉,該強制轉換的強制轉換,該刪除定義了未使用的變數函式刪除或者註釋掉
Debug編譯執行都沒有問題,Release編譯錯誤error C2664: 'ATL::CStringT::CStringT(const VARIANT
平臺:Win7 X64 解決方法:project-Configuration Properties-General-Character Set選擇Use Multi-Byte Character Set 詳細編譯錯誤如下: 1>c:\program files\