/Zc:char8_t (Povolení char8_t typu C++20)

Možnost /Zc:char8_t kompilátoru umožňuje podporu typů vyhovujících char8_t C++20. char8_t je typ znaku, který se používá k reprezentaci jednotek kódu UTF-8.

Syntax

/Zc:char8_t[-]

Poznámky

Možnost /Zc:char8_t kompilátoru char8_t povoluje klíčové slovo type zadané ve standardu C++20. To způsobí, že kompilátor vygeneruje u8 znakové nebo řetězcové literály s předponou jako const char8_t typy nebo const char8_t[N] namísto typu nebo const charconst char[N] . V C++17 mohou být pole char inicializována pomocí u8 řetězcových literálů. V C++20 je tato inicializace špatně vytvořena a způsobuje chybu kompilátoru C2440. Toto chování může být změnou způsobující chybu zdroje. Zadáním příkazu můžete explicitně /Zc:char8_t-vrátit chování kompilátoru na C++14 nebo C++17.

Tato /Zc:char8_t možnost je dostupná od verze 16.1 sady Visual Studio 2019. Povolí se automaticky, když zadáte /std:c++20 nebo později (například /std:c++latest). Jinak je ve výchozím nastavení vypnutá.

Příklad

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

Nastavení této možnosti kompilátoru v sadě Visual Studio

  1. Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.

  2. Vyberte stránku vlastností> Vlastnosti konfiguraceC/C++>Příkazový řádek.

  3. Do /Zc:char8_t podokna Další možnosti přidejte nebo /Zc:char8_t- .

Viz také

/Zc (Shoda)
/std (Zadejte standardní verzi jazyka.)