Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Opsi /Zc:static_assert kompilator memberi tahu pengkompilasi untuk mengevaluasi static_assert panggilan dengan ekspresi pengujian non-dependen saat templat kelas atau fungsi diurai.
Sintaks
/Zc:static_assert
/Zc:static_assert-
Keterangan
Dimulai dengan Visual Studio 17.10, /Zc:static_assert dan /Zc:static_assert- tidak berpengaruh. Kedua opsi diabaikan untuk menghindari melanggar build yang menggunakannya.
static_assert sekarang tidak pernah dievaluasi saat mengurai kelas atau templat fungsi.
Opsi /Zc:static_assert kompilator memberi tahu pengkompilasi untuk mengevaluasi static_assert dalam isi templat fungsi atau di isi fungsi anggota templat kelas saat pertama kali diurai, jika ekspresi pengujian tidak bergantung. Jika ekspresi pengujian non-dependen false, pengkompilasi segera mengeluarkan kesalahan. Saat ekspresi pengujian bergantung, static_assert tidak dievaluasi hingga templat dibuat.
Opsi /Zc:static_assert ini tersedia mulai di Visual Studio 2022 versi 17.1. Di versi Visual Studio yang lebih lama, atau jika /Zc:static_assert- ditentukan, Visual Studio tidak melakukan analisis dependen jika static_assert berada dalam isi templat fungsi atau dalam isi fungsi anggota templat kelas. Sebaliknya, templat hanya mengevaluasi static_assert kapan templat dibuat.
Opsi mengaktifkan /permissive-/Zc:static_assert, sehingga aktif secara default dalam proyek yang menggunakan /std:c++20 atau /std:c++latest. Opsi /Zc:static_assert- harus datang setelah /std:c++20opsi , /std:c++latest, atau /permissive- pada baris perintah.
Jika pengkompilasi berada dalam mode C++14 default dan /permissive- atau /Zc:static_assert ditentukan, ia menggunakan /Zc:static_assert perilaku. Namun, jika mengevaluasi static_assert dalam isi templat, ia juga melaporkan peringatan C5254 secara default, "fitur bahasa 'pernyataan statis terse' memerlukan bendera kompilator '/std:c++17'", karena perilaku ini tidak diperlukan sampai C++17.
Untuk mengatur opsi pengkompilasi ini di Visual Studio
Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.
Pilih halaman properti Properti>>Baris Perintah.
Tambahkan
/Zc:static_assertatau/Zc:static_assert-ke panel Opsi tambahan: .