Bagikan melalui


/Zc:char8_t (Aktifkan jenis char8_t C++20)

Opsi /Zc:char8_t pengkompilasi memungkinkan dukungan jenis yang char8_t sesuai dengan C++20. char8_t adalah jenis karakter yang digunakan untuk mewakili unit kode UTF-8.

Sintaks

/Zc:char8_t[-]

Keterangan

Opsi /Zc:char8_t pengkompilasi mengaktifkan char8_t kata kunci jenis seperti yang ditentukan dalam standar C++20. Ini menyebabkan pengkompilasi menghasilkan u8 karakter awalan atau literal string sebagai const char8_t atau const char8_t[N] jenis, masing-masing, alih-alih sebagai const char atau const char[N] jenis. Di C++17, array char dapat diinisialisasi menggunakan u8 literal string. Di C++20, inisialisasi ini terbentuk buruk, dan menyebabkan kesalahan kompilator C2440. Perilaku ini bisa menjadi perubahan yang melanggar sumber. Anda dapat mengembalikan kompilator ke perilaku C++14 atau C++17 secara eksplisit dengan menentukan /Zc:char8_t-.

Opsi /Zc:char8_t ini tersedia mulai di Visual Studio 2019 versi 16.1. Ini diaktifkan secara otomatis saat Anda menentukan /std:c++20 atau yang lebih baru (seperti /std:c++latest). Jika tidak, ini nonaktif secara default.

Contoh

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

Untuk mengatur opsi pengkompilasi ini di Visual Studio

  1. Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.

  2. Pilih halaman properti Properti>Konfigurasi C/C++>Baris Perintah.

  3. Tambahkan /Zc:char8_t atau /Zc:char8_t- ke panel Opsi tambahan: .

Lihat juga

/Zc (Kesuaian)
/std (Tentukan versi standar bahasa)