Я не могу инициализировать WCHAR - PullRequest
0 голосов
/ 02 сентября 2018

Мне нужно сделать и 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";

1 Ответ

0 голосов
/ 02 сентября 2018

L"TEST" - это строковый литерал типа const wchar_t[5], который представляет собой массив из const символов (поскольку литерал существует в постоянной памяти). Вы пытаетесь инициализировать WCHAR*, который является указателем на неконстантный символ, чтобы указывать на этот массив.

Инициализация указателя на неконстантных символьных данных для указания на массив const символьных данных устарела в C ++ 98 (для поддержки в обратном направлении) совместимость с устаревшим кодом) и является недопустимой в C ++ 11 и далее.

Вам необходимо изменить объявление Testlooll в соответствии с:

const WCHAR *Testlooll = L"TEST";

Или:

LPCWSTR Testlooll = L"TEST";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...