Para el fragmento de código C++ a continuación:matrices estáticas definidas con tamaño no especificado, corchetes vacíos?
class Foo {
int a[]; // no error
};
int a[]; // error: storage size of 'a' isn't known
void bar() {
int a[]; // error: storage size of 'a' isn't known
}
por qué no es la variable miembro causando un error también? y ¿cuál es el significado de esta variable miembro?
Estoy usando gcc versión 3.4.5 (mingw-vista special) a través de CodeBlocks 8.02.
En Studio Express 2008 Visual - Microsoft (R) C/C++ compilador de optimización 15.00.30729.01 de 80x86, que tiene los siguientes mensajes:
class Foo {
int a[]; // warning C4200: nonstandard extension used : zero-sized array in struct/union - Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
};
int a[];
void bar() {
int a[]; // error C2133: 'a' : unknown size
}
Ahora, esto necesita un poco de explicación también.
El título menciona "matrices estáticas". ¿Dónde están estas "matrices estáticas" en su pregunta? No veo una sola referencia a ninguna "matriz estática". – AnT
Me refiero a arreglos asignados estáticamente. Por favor, siéntase libre de editar la pregunta si lo considera necesario. Gracias. –