Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
typ "identifierare" har en ogiltig matris med noll storlek
Anmärkningar
En medlem i ett struktur- eller bitfält innehåller en matris med noll storlek som inte är den sista medlemmen.
Eftersom du kan ha en matris med noll storlek som den sista medlemmen i structen måste du ange dess storlek när du allokerar structen.
Om matrisen med nollstorlek inte är den sista medlemmen i structen kan kompilatorn inte beräkna förskjutningen för de återstående fälten.
Example
I följande exempel genereras C2229:
// 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;
}