Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
o tipo 'identifier' tem uma matriz inválida de tamanho zero
Observações
Um membro de um campo de estrutura ou campo de bits contém uma matriz de tamanho zero que não é o último membro.
Como você pode ter uma matriz de tamanho zero como o último membro do struct, você deve especificar o tamanho dela ao alocar o struct.
Se a matriz de tamanho zero não for o último membro do struct, o compilador não poderá calcular o deslocamento para os campos restantes.
Example
O exemplo a seguir gera 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;
}