Если вы пропустите конструктор, это не будет explicit
. Если вы не = default
, это не будет тривиальным .
Итак, если вы хотите, чтобы конструктор был explicit
, и вы также хотите, чтобы он оставался тривиальным, то, что вы видите, является единственной доступной опцией.
Щелкните правой кнопкой по своему проекту->, Свойства затем переходят к следующему элементу дерева:
Свойства конфигурации-> Общий
Для выбора Unicode:
Используйте символьные строки Unicode
Для нормального многобайтового выбора:
Используйте многобайтовый набор символов
Когда Вы помещаете TEXT()
или _T()
вокруг Ваших строк Вы делаете это совместимым с обеими из опций символьной строки. Если Вы выбираете Use multi-byte character set
затем Вам ничто не нужно вокруг Ваших строк. Если Вы выбираете Use unicode character set
, Вам нужно, по крайней мере, L перед Вашими строками.
Путем выбора Use Unicode Character Strings
Вы также значением по умолчанию с помощью всего API Win32 тот конец в W. Пример: MessageBox
карты к MessageBoxW
.
Когда Вы выбираете Use multi-byte character set
Вы также значением по умолчанию с помощью всего API Win32 тот конец в A. Пример: MessageBox
карты к MessageBoxA
.
Стоит отметить, что вы можете явно объявить строковые литералы широких символов в форме:
WCHAR *s = L"Hello Wide World.";
, для которой требуется меньше нажатий клавиш, чем в макросах TEXT () или _T (), но при этом строка широких символов, даже если UNICODE не определен.