Dela via


Kompilatorvarning (nivå 2 och nivå 4) C4200

icke-standardtillägg som används: nollstor matris i struct/union

Endast C++ :

Den här medlemmen ignoreras av en standardkonstruktor eller kopierings-/flytttilldelningsoperator

Anmärkningar

Den här varningen anger att en struktur eller union innehåller en matris som har noll storlek. Deklaration av en matris med noll storlek är ett kompilatortillägg som inte är standard. Detta orsakar en nivå 2-varning när en C++-fil kompileras och en nivå 4-varning när en C-fil kompileras.

Example

Det här exemplet genererar varning C4200:

// C4200.cpp
// compile by using: cl /W4 c4200.cpp
struct A {
    int len;
    int a[0];  // C4200
};

Det här icke-standardtillägget används ofta för att gränssnittskoda med externa datastrukturer som har en variabel längd. Om det här scenariot gäller för din kod kan du inaktivera varningen:

// C4200b.cpp
// compile by using: cl /W4 c4200a.cpp
#pragma warning(disable : 4200)
struct A {
    int len;
    int a[0];
};