/Zc:forScope (Force Conformance in for Loop Scope)
Digunakan untuk menerapkan perilaku C++ standar untuk perulangan dengan ekstensi Microsoft (/Ze).
Sintaks
/Zc:forScope[-]
Keterangan
Perilaku standar adalah membiarkan for
penginisialisasi perulangan keluar dari cakupan setelah perulangan for
. Di bawah /Zc:forScope- dan /Ze, for
penginisialisasi perulangan tetap berada dalam cakupan hingga cakupan lokal berakhir.
Opsi /Zc:forScope aktif secara default. /Zc:forScope tidak terpengaruh ketika opsi /permissive- ditentukan.
Opsi /Zc:forScope- tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Penggunaan /Zc:forScope- menghasilkan peringatan penghentian D9035.
Kode berikut dikompilasi di bawah /Ze tetapi tidak di bawah /Za:
// zc_forScope.cpp
// compile by using: cl /Zc:forScope- /Za zc_forScope.cpp
// C2065, D9035 expected
int main() {
// Compile by using cl /Zc:forScope- zc_forScope.cpp
// to compile this non-standard code as-is.
// Uncomment the following line to resolve C2065 for /Za.
// int i;
for (int i = 0; i < 1; i++)
;
i = 20; // i has already gone out of scope under /Za
}
Jika Anda menggunakan /Zc:forScope-, peringatan C4288 (nonaktif secara default) dihasilkan jika variabel berada dalam cakupan karena deklarasi yang dibuat dalam cakupan sebelumnya. Untuk menunjukkan hal ini, hapus //
karakter dalam kode contoh untuk mendeklarasikan int i
.
Anda dapat mengubah perilaku run-time /Zc:forScope dengan menggunakan pragma yang sesuai .
Jika Anda menggunakan /Zc:forScope- dalam proyek yang memiliki file .pch yang ada, peringatan dihasilkan, /Zc:forScope- diabaikan, dan kompilasi berlanjut dengan menggunakan file .pch yang ada. Jika Anda ingin file .pch baru dibuat, gunakan /Yc (Buat File Header yang Telah Dikommpilasikan).
Untuk informasi selengkapnya tentang masalah kesuaian di Visual C++, lihat Perilaku Nonstandar.
Untuk mengatur opsi pengkompilasi ini di lingkungan pengembangan 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++>Language.
Ubah properti Force Conformance di For Loop Scope.
Untuk mengatur opsi pengkompilasi ini secara terprogram
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk