Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
se ha utilizado una extensión no estándar: matriz de tamaño cero en struct/union
Sólo C++:
Un constructor con valor predeterminado o un operador de asignación de copia o movimiento ignorará a este miembro
Observaciones
La advertencia indica que una estructura o unión contiene una matriz de tamaño cero. La declaración de una matriz de tamaño cero es una extensión del compilador no estándar. Esto genera una advertencia de nivel 2 al compilar un archivo de C++ y una advertencia de nivel 4 al compilar un archivo de C.
Ejemplo
Este ejemplo genera la advertencia C4200:
// C4200.cpp
// compile by using: cl /W4 c4200.cpp
struct A {
int len;
int a[0]; // C4200
};
Esta extensión no estándar se utiliza a menudo para conectar el código con las estructuras de datos externos que tienen una longitud variable. Si esta situación se aplica a su código, puede deshabilitar la advertencia:
// C4200b.cpp
// compile by using: cl /W4 c4200a.cpp
#pragma warning(disable : 4200)
struct A {
int len;
int a[0];
};