[C con Clase] Hay cosas que nunca entenderé...

Alejandro alepelexo en yahoo.es
Vie Oct 19 16:22:03 CEST 2007


He tenido un probleme que me ha desconcertado. Estoy siguiend un buen manual de como crear videojuegos con SDL y, para empezar, hay que crear una aventura textual que te va describiendo donde estás, qué puedes hacer... en MS-DOS. El manual te da un patrón, pero yo he creado mi propia historia y he desarrollado el juego basándome en el del manual, pero  mi manera. El problema es el siguiente (os pongo sólo la parte del código que creo que influye, si eso me pedís el código entero, pero no me parece cuestión de colgar aquí las 400 líneas):

#include <iostream> //Librería de cout, cin...
#include <cstring>//Librería para strcpy...
using namespace std;

//Estructura para crear una zona del mapa
struct Zonas
{
       char descripcion[300];//Descripcion de la zona
       int norte, sur, este, oeste;//Lugar al que vas en estas direcciones
}Zona[10];//Aray de diez zonas

//Estructura para crear un objeto
struct Objetos
{
       int estado;//Estado del objeto
       char descripcion1[300];
       char descripcion2[300];//Descripciones según el estado del objeto (1 ó 2)
       int zona;//Zona en la que está
       bool lotengo;//Determina si tienes o no el objeto
}Objeto[9];//Array de ocho objetos

////////////FUNCIÓN MAIN///////////////
int main(int arc, char **argv)
{
    ////------------------------CONSTANTES---------------------------------\\\\\\\\\\\\\\\\\
    const int LINTERNA = 1;
    const int PILAS = 2;
    const int LLAVE = 3;
    const int CUERDA = 4;
    const int BALON = 5;
    const int CARNE = 6;
    const int CUCHILLO = 7;
    const int LOBOS = 8;
    const int NOBJETOS = 8;

.......................................

////-------------------INICIALIZACIÓN DE OBJETOS Y ANIMALES-------------------\\\\\\\\\\\\\\\\
    //Linterna
    Objeto[LINTERNA].estado = 1;//AQUÍ ME DA EL PROBLEMA
    strcpy(Objeto[LINTERNA].descripcion1, " Una linterna reposa sobre el centro, arrojando una tenue luz. Deben de estar a punto de acabarsele las pilas. Parece habersele caido a algun explorador.");
    strcpy(Objeto[LINTERNA].descripcion2, " ");
    Objeto[LINTERNA].zona = 5;
    Objeto[LINTERNA].lotengo = false;

.......................................

Como el problema ya me lo dá ahí, no sigo poniendo código. Lo más curioso es el problema que dá: 

In function: int main(int,char**)
            'LINTERNA' undeclared (first use this function)

¡Dice que no declaré LINTERNA cuando lo hice antes! ¡Y está bien escrito en ambos casos! ¿A alguien se le ocurre qué puede pasar? Cosas como estas son las que no entiendo... puedo tener mil errores en el código, pero esto.... no lo esperaba. Alguna idea??

Gracias por aguantar este correo tan largo y un saludo, Alejandro.


Más información sobre la lista de distribución Cconclase