/Zc:char8_t
(Activer le type de char8_t C++20)
L’option /Zc:char8_t
du compilateur active la prise en charge du type conforme À char8_t
C++20. char8_t
est un type de caractère utilisé pour représenter des unités de code UTF-8.
Syntaxe
/Zc:char8_t
[-
]
Notes
L’option /Zc:char8_t
du compilateur active le char8_t
mot clé de type tel que spécifié dans la norme C++20. Le compilateur génère des u8
littéraux de caractères ou de chaînes préfixés en tant que const char8_t
ou const char8_t[N]
types, respectivement, au lieu d’être ou const char
const char[N]
de types. En C++17, des tableaux peuvent être initialisés à l’aide u8
de char
littéraux de chaîne. Dans C++20, cette initialisation est incorrecte et provoque l’erreur du compilateur C2440. Ce comportement peut être un changement cassant à la source. Vous pouvez rétablir explicitement le comportement du compilateur en C++14 ou C++17 en spécifiant /Zc:char8_t-
.
L’option /Zc:char8_t
est disponible à partir de Visual Studio 2019 version 16.1. Elle est activée automatiquement lorsque vous spécifiez /std:c++20
ou version ultérieure (par /std:c++latest
exemple). Sinon, il est désactivé par défaut.
Exemple
const char* s = u8"Hello"; // Compiles in C++17, Error C2440 in C++20
const char8_t* s = u8"Hello"; // Compiles in C++20 or with /Zc:char8_t
Pour définir cette option de compilateur dans Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.
Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.
Ajoutez ou
/Zc:char8_t-
accédez/Zc:char8_t
aux options supplémentaires : volet.
Voir aussi
/Zc
(Conformité)
/std
(Spécifier la version du standard du langage)