1. 程式人生 > >C++編譯出現 error C2664: 不能將引數 2 從“const char [5]”轉換為“LPCTSTR”解決辦法。

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()); 同上面效果相同

連結:點選開啟連結