Compiler Warning (level 2 dan level 4) C4200
ekstensi nonstandar yang digunakan: array berukuran nol dalam struct/union
Hanya C++:
Anggota ini akan diabaikan oleh konstruktor default atau operator penetapan salin/pindah
Peringatan ini menunjukkan bahwa struktur atau union berisi array yang memiliki ukuran nol. Deklarasi array berukuran nol adalah ekstensi kompilator nonstandar. Ini menyebabkan peringatan Tingkat-2 ketika file C++ dikompilasi dan peringatan Tingkat-4 saat file C dikompilasi. Contoh ini menghasilkan peringatan C4200:
// C4200.cpp
// compile by using: cl /W4 c4200.cpp
struct A {
int len;
int a[0]; // C4200
};
Ekstensi nonstandar ini sering digunakan untuk antarmuka kode dengan struktur data eksternal yang memiliki panjang variabel. Jika skenario ini berlaku untuk kode Anda, Anda dapat menonaktifkan peringatan:
Contoh
// C4200b.cpp
// compile by using: cl /W4 c4200a.cpp
#pragma warning(disable : 4200)
struct A {
int len;
int a[0];
};
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