Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
el inicializador no es una constante
Observaciones
Este error solo lo emite el compilador de C y únicamente se genera para variables no automáticas. El compilador inicializa variables no automáticas al inicio del programa y los valores con los que se inicializan deben ser constantes.
Ejemplos
En el ejemplo siguiente se genera la advertencia C2099.
// C2099.c
int j;
int *p;
j = *p; // C2099 *p is not a constant
El error C2099 también puede producirse porque el compilador no puede efectuar el plegamiento constante sobre una expresión en /fp:strict , porque la configuración del entorno de precisión de punto flotante (vea _controlfp_s para obtener más información) puede ser distinta en la compilación y en el tiempo de ejecución.
Cuando falla el plegamiento constante, el compilador invoca una inicialización dinámica, que no se permite en C.
Para resolver este error, compile el módulo como archivo .cpp o simplifique la expresión.
Para obtener más información, consulte /fp (Especificar comportamiento de punto flotante).
En el ejemplo siguiente se genera C2099.
// C2099_2.c
// compile with: /fp:strict /c
float X = 2.0 - 1.0; // C2099
float X2 = 1.0; // OK