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:__cplusplus kompilator memungkinkan makro praprosesor __cplusplus melaporkan nilai yang diperbarui untuk dukungan standar bahasa C++ terbaru. Secara default, Visual Studio selalu mengembalikan nilai 199711L untuk __cplusplus makro praprosesor.
Sintaks
/Zc:__cplusplus[-]
Keterangan
Makro __cplusplus praprosesor umumnya digunakan untuk melaporkan dukungan untuk versi tertentu dari standar C++. Karena banyak kode yang ada tampaknya bergantung pada nilai pencocokan 199711Lmakro ini , pengkompilasi tidak mengubah nilai makro kecuali Anda secara eksplisit ikut serta dengan menggunakan /Zc:__cplusplus opsi pengkompilasi. Opsi /Zc:__cplusplus ini tersedia mulai di Visual Studio 2017 versi 15.7, dan nonaktif secara default. Di versi Visual Studio yang lebih lama, dan secara default, atau jika /Zc:__cplusplus- ditentukan, Visual Studio mengembalikan nilai 199711L untuk __cplusplus makro praprosesor. Opsi /permissive- tidak mengaktifkan /Zc:__cplusplus.
/Zc:__cplusplus Saat opsi diaktifkan, nilai yang dilaporkan oleh __cplusplus makro bergantung pada /std pengaturan opsi versi. Tabel ini memperlihatkan kemungkinan nilai untuk makro:
/Zc:__cplusplus opsi |
/std opsi |
__cplusplus nilai |
|---|---|---|
Zc:__cplusplus |
/std:c++14 (default) |
201402L |
Zc:__cplusplus |
/std:c++17 |
201703L |
Zc:__cplusplus |
/std:c++20 |
202002L |
Zc:__cplusplus |
/std:c++latest |
lihat teks |
Zc:__cplusplus- (dinonaktifkan) |
Nilai apa pun | 199711L |
| Tidak ditentukan | Nilai apa pun | 199711L |
Pengkompilasi tidak mendukung opsi standar untuk C++98, C++03, atau C++11. Opsi /std:c++20 ini tersedia mulai dari Visual Studio 2019 versi 16.11. Nilai __cplusplus dengan /std:c++latest opsi tergantung pada versi Visual Studio. Ini selalu setidaknya satu lebih tinggi dari nilai standar tertinggi yang didukung __cplusplus yang didukung oleh versi Visual Studio Anda.
Untuk deteksi perubahan yang lebih halus pada toolset kompilator, gunakan _MSC_VER makro yang telah ditentukan sebelumnya. Nilai makro bawaan ini bertahap untuk setiap pembaruan toolset di Visual Studio 2017 dan versi yang lebih baru. Makro _MSVC_LANG yang telah ditentukan sebelumnya melaporkan versi standar apakah /Zc:__cplusplus opsi diaktifkan atau dinonaktifkan. Ketika /Zc:__cplusplus diaktifkan, __cplusplus memiliki nilai yang sama dengan _MSVC_LANG.
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:__cplusplusatau/Zc:__cplusplus-ke panel Opsi tambahan: .
Lihat juga
/Zc (Kesuaian)
/std (Tentukan versi standar bahasa)
Makro yang telah ditentukan sebelumnya