Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
The /Zc:char8_t compiler option enables C++20 conforming char8_t type support. char8_t is a character type that's used to represent UTF-8 code units.
Syntax
/Zc:char8_t[-]
Remarks
The /Zc:char8_t compiler option enables the char8_t type keyword as specified in the C++20 standard. It causes the compiler to generate u8 prefixed character or string literals as const char8_t or const char8_t[N] types, respectively, instead of as const char or const char[N] types. In C++17, arrays of char may be initialized using u8 string literals. In C++20, this initialization is ill-formed, and causes compiler error C2440. This behavior can be a source-breaking change. You can revert the compiler to C++14 or C++17 behavior explicitly by specifying /Zc:char8_t-.
The /Zc:char8_t option is available starting in Visual Studio 2019 version 16.1. It's enabled automatically when you specify /std:c++20 or later (such as /std:c++latest). Otherwise, it's off by default.
Example
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
To set this compiler option in Visual Studio
Open the project's Property Pages dialog box. For details, see Set C++ compiler and build properties in Visual Studio.
Select the Configuration Properties > C/C++ > Command Line property page.
Add
/Zc:char8_tor/Zc:char8_t-to the Additional options: pane.