我需要制作和WCHAR。
但这是行不通的,而且我总是报错:

Error   C2440   'initializing': cannot convert from 'const wchar_t [11]' to 'WCHAR *'
 StateError (active)    E0144   a value of type "const wchar_t *" cannot be used to initialize an entity of type "WCHAR *


我的代码:

WCHAR *Testlooll = L"TEST";

最佳答案

L"TEST"是类型为const wchar_t[5]的字符串文字,它是const字符数组(因为文字存在于只读存储器中)。您正在尝试初始化WCHAR*(指向非常量字符的指针)以指向该数组。

在C ++ 98中,初始化指向非常量字符数据的指针以指向常量字符数据的数组是deprecated(以保持与旧代码的向后兼容性),而在C ++ 11起,则是非法的。

您需要根据以下内容更改Testlooll的声明:

const WCHAR *Testlooll = L"TEST";


要么:

LPCWSTR Testlooll = L"TEST";

关于c++ - 我无法初始化WCHAR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52137990/

10-11 22:07