Teilen über


Compilerfehler C2229

Der Typ "Identifier" weist ein ungültiges Array der Größe Null auf.

Bemerkungen

Ein Element einer Struktur oder eines Bitfelds enthält ein Array mit nuller Größe, das nicht das letzte Element ist.

Da Sie als letztes Element der Struktur ein Array der Größe Null aufweisen können, müssen Sie die Größe angeben, wenn Sie die Struktur zuordnen.

Wenn das Array der Nullgröße nicht das letzte Element der Struktur ist, kann der Compiler den Offset für die verbleibenden Felder nicht berechnen.

Example

Im folgenden Beispiel wird C2229 generiert:

// C2229.cpp
struct S {
   int a[0];  // C2229  zero-sized array
   int b[1];
};

struct S2 {
   int a;
   int b[0];
};

int main() {
   // allocate 7 elements for b field
   S2* s2 = (S2*)new int[sizeof(S2) + 7*sizeof(int)];
   s2->b[6] = 100;
}