无法从字符串转换为Uuid

时间:2018-07-24 20:17:38

标签: c++ visual-studio compiler-errors c++14

我正在尝试在Visual Studio 2017 C ++控制台应用程序中编译以下C ++代码。

GUID patchId;
auto resa = UuidFromString("905EAA46-C9E3-4B5C-8133-0000165A4DDD", &patchId);

它给了我下面的编译错误。

  

错误C2664'RPC_STATUS UuidFromStringW(RPC_WSTR,UUID *)':   无法将参数1从'const char [37]'转换为'RPC_WSTR'

如何解决此错误?

1 个答案:

答案 0 :(得分:2)

系统平台标头中似乎存在错误。如果将wchar_t定义为与unsigned short不同的类型(应该这样做),则https://social.msdn.microsoft.com/Forums/vstudio/en-US/d1b4550a-407b-4c09-8560-0ab9ef6ff754/error-while-compiling-c2664?forum=vclanguage会插入; RPC_WSTRunsigned short*,应为wchar_t*

执行以下操作:

UuidFromStringW((RPC_WSTR)L"905EAA46-C9E3-4B5C-8133-0000165A4DDD", &patchId);

那真是可怕。