Saltar al contenido

Definición de matriz: la expresión debe tener un valor constante

Te sugerimos que pruebes esta resolución en un ambiente controlado antes de pasarlo a producción, saludos.

Solución:

Palabra clave en lenguaje C const no tiene nada que ver con constantes. En lenguaje C, por definición, el término “constante” se refiere a valores literales y constantes de enumeración. Esto es lo que tienes que usar si realmente necesitas un constante: utilice un valor literal (defina un macro para darle un nombre a su constante), o use una constante de enumeración.

(Lea aquí para obtener más detalles: ¿Prefiero las constantes sobre las definiciones?)

Además, en C99 y versiones posteriores del lenguaje es posible usar valores no constantes como array tamaños para arreglos locales. Eso significa que su código debe compilarse en C moderno aunque su size no es una constante. Pero aparentemente está usando un compilador más antiguo, por lo que en su caso

#define SIZE 10

es el camino correcto a seguir.

La respuesta está en otra pregunta de stackoverflow, AQUÍ

es porque los objetos In C declarados con el modificador const no son true
constantes Un mejor nombre para const probablemente sería solo lectura; lo que realmente significa es que el compilador no le permitirá cambiarlo. y tu necesitas true constantes para inicializar objetos con static almacenamiento (sospecho que regs_to_read es global).

Ten en cuenta mostrar esta sección si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *