Share via


/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 type mot clé comme 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 charconst 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++latestexemple). 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

  1. 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.

  2. Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.

  3. 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)