我需要制作和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/