【发布时间】:2023-03-20 08:01:01
【问题描述】:
所以,我正在使用 Visual Studio 2012,项目设置设置为“使用 unicode”。
我已将其包含在我的文件中:
#include <string>
using namespace std;
当我尝试这样做时
//process.szExeFile - WCHAR[260]
//name - PCSTR
if (string(process.szExeFile) == string(name))
Visual Studio 引发错误 C2665。
我做错了什么?
【问题讨论】:
-
实际的错误文本是什么?
-
error C2665: std::basic_string<_elem>::basic_string: 17 个重载都不能转换参数
-
试试
wstring(process.szExeFile) -
说它不能执行操作 std::wstring == PCSTR
-
@BerNardEr:那是因为
PCSTR与WCHAR[]无关。您需要了解 Windows 中 8 位和 16 位字符的区别。
标签: c++ visual-studio-2012 unicode