/Zc:char8_t
(C++20 char8_t Typ aktivieren)
Die /Zc:char8_t
Compileroption ermöglicht die Unterstützung von C++20-konformen char8_t
Typen. char8_t
ist ein Zeichentyp, der verwendet wird, um UTF-8-Codeeinheiten darzustellen.
Syntax
/Zc:char8_t
[-
]
Hinweise
Die /Zc:char8_t
Compileroption aktiviert das char8_t
Typschlüsselwort gemäß der Angabe im C++20-Standard. Er bewirkt, dass der Compiler präfixierte Zeichen oder Zeichenfolgenliterale als const char8_t
oder Typen anstelle von const char
const char[N]
Typen generiert u8
const char8_t[N]
. In C++17 können Arrays mit u8
Zeichenfolgenliteralen char
initialisiert werden. In C++20 ist diese Initialisierung unformiert und verursacht Compilerfehler C2440. Bei diesem Verhalten kann es sich um eine quellbrechende Änderung handeln. Sie können den Compiler explizit auf das C++14- oder C++17-Verhalten zurücksetzen, indem Sie angeben /Zc:char8_t-
.
Die /Zc:char8_t
Option ist ab Visual Studio 2019, Version 16.1, verfügbar. Sie wird automatisch aktiviert, wenn Sie angeben /std:c++20
oder später (z. B /std:c++latest
. ). Andernfalls ist sie standardmäßig deaktiviert.
Beispiel
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
So legen Sie diese Compileroption in Visual Studio fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.
Fügen Sie den Bereich "Zusätzliche
/Zc:char8_t
Optionen" hinzu oder/Zc:char8_t-
fügen Sie sie hinzu.
Siehe auch
/Zc
(Konformität)
/std
(Standardversion für die Sprache festlegen)