Bagikan melalui


/Zc:externConstexpr (Aktifkan variabel constexpr ekstern)

Opsi /Zc:externConstexpr pengkompilasi memberi tahu pengkompilasi agar sesuai dengan standar C++ dan memungkinkan tautan eksternal untuk constexpr variabel. Secara default, Visual Studio selalu memberikan constexpr tautan internal variabel, bahkan jika Anda menentukan extern kata kunci.

Sintaks

/Zc:externConstexpr[-]

Keterangan

Opsi /Zc:externConstexpr kompilator menyebabkan pengkompilasi menerapkan tautan eksternal ke variabel yang dideklarasikan dengan menggunakan extern constexpr.

Di versi Visual Studio yang lebih lama, secara default atau jika /Zc:externConstexpr- ditentukan, Visual Studio menerapkan tautan internal ke constexpr variabel meskipun extern kata kunci digunakan. Opsi /Zc:externConstexpr ini tersedia mulai di Visual Studio 2017 Update 15.6. dan nonaktif secara default.

Pada Visual Studio 2022 Update 17.6, /permissive- opsi mengaktifkan dan /Zc:externConstexpr /Zc:lambda. Di versi sebelumnya, /permissive- tidak mengaktifkan salah satu versi sebelumnya.

Jika file header berisi variabel yang dideklarasikan extern constexpr, itu harus ditandai __declspec(selectany) untuk menggabungkan deklarasi duplikat ke dalam satu instans dalam biner tertaut. Jika tidak, Anda mungkin melihat kesalahan linker, misalnya, LNK2005, untuk pelanggaran aturan satu definisi.

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:externConstexpr atau /Zc:externConstexpr- ke panel Opsi tambahan: .

Lihat juga

auto Kata Kunci
permissive
/Zc (Kesuaian)