Share via


/Zc:char8_t (Abilita tipo di char8_t C++20)

L'opzione /Zc:char8_t del compilatore abilita il supporto del tipo conforme a char8_t C++20. char8_t è un tipo di carattere usato per rappresentare le unità di codice UTF-8.

Sintassi

/Zc:char8_t[-]

Osservazioni:

L'opzione /Zc:char8_t del compilatore abilita la char8_t parola chiave type come specificato nello standard C++20. Fa in modo che il compilatore generi u8 valori letterali stringa o carattere con prefisso rispettivamente come const char8_t tipi o const char8_t[N] anziché come const char o const char[N] . In C++17 le matrici di char possono essere inizializzate usando u8 valori letterali stringa. In C++20 questa inizializzazione non è corretta e causa l'errore del compilatore C2440. Questo comportamento può essere una modifica che causa un'interruzione di origine. È possibile ripristinare in modo esplicito il comportamento del compilatore in C++14 o C++17 specificando /Zc:char8_t-.

L'opzione /Zc:char8_t è disponibile a partire da Visual Studio 2019 versione 16.1. Viene abilitata automaticamente quando si specifica /std:c++20 o versione successiva ,ad esempio /std:c++latest. In caso contrario, è disattivato per impostazione predefinita.

Esempio

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

Per impostare questa opzione del compilatore in Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Aggiungere /Zc:char8_t o /Zc:char8_t- al riquadro Opzioni aggiuntive: .

Vedi anche

/Zc (Conformità)
/std (Specificare la versione standard della lingua)