/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

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

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.

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