/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
Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.
Pilih halaman properti Properti>Konfigurasi C/C++>Baris Perintah.
Tambahkan
/Zc:externConstexpr
atau/Zc:externConstexpr-
ke panel Opsi tambahan: .