En la posición señalada del programa se pretende declarar un elemento (campo) de la estructura no válido.
Una estructura puede tener únicamente campos de los siguientes tipos:
- Una variable, en cuyo caso se deberá indicar en la declaración el nombre de la misma, sin inicializar.
- Una tabla, indicando el nombre de la misma y, a continuación, entre corchetes, la longitud de la misma (se recuerda que una tabla declarada como mi_tabla[9]; es una tabla de 10 posiciones, desde mi_tabla[0] hasta mi_tabla[10]). Tampoco se deben inicializar.
- Otra estructura. Es posible incluir estructuras dentro de otras estructuras, sin ningún límite de anidamiento, hasta donde sea necesario. A continuación se muestra un ejemplo de anidamiento de estructuras.
PROGRAM mi_juego; GLOBAL STRUCT mi_estructura[9] elementos; STRUCT datos[9] x, y; END END a, b; BEGIN FROM a=0 TO 9; mi_estructura[a].elementos=-1; FROM b=0 TO 9; mi_estructura[a].datos[b].x=-1; mi_estructura[a].datos[b].y=-1; END END //... END
En este ejemplo, cada registro de mi_estructura tendrá una variable denominada elementos y otra estructura con 10 elementos cada uno con dos variables: x e y.
Más adelante, en el mismo ejemplo, se puede observar un ejemplo de acceso a dicha estrucutra con dos bucles anidados que inicializan todos los valores de la estructura a -1.
Para ver cómo se debe inicializar en propia definición los valores de una estructura acceda al tópico sintaxis.