Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
type 'identifier' has an illegal zero-sized array
Poznámky
Člen struktury nebo bitového pole obsahuje pole s nulovou velikostí, která není posledním členem.
Vzhledem k tomu, že pole s nulovou velikostí můžete mít jako poslední člen struktury, je nutné zadat jeho velikost při přidělení struktury.
Pokud pole s nulovou velikostí není posledním členem struktury, kompilátor nemůže vypočítat posun zbývajících polí.
Example
Následující příklad vygeneruje 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;
}