Bagikan melalui


/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

  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++>Language.

  3. Ubah properti Force Conformance di For Loop Scope.

Untuk mengatur opsi pengkompilasi ini secara terprogram

Baca juga

/Zc (Kesuaian)
/Za, /Ze (Nonaktifkan Ekstensi Bahasa)