Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Clases-> Matrices-> Estructura

Estas en el tema de Clases-> Matrices-> Estructura en el foro de C/C++ en Foros del Web. Buenas a todas y todos :D Les explico: Tengo un archivo llamado: definiciones_clases.h donde como su nombre lo indica estan definidas las clases. Código: /* ...
  #1 (permalink)  
Antiguo 28/02/2008, 12:41
Avatar de arwen_1  
Fecha de Ingreso: diciembre-2006
Mensajes: 81
Antigüedad: 17 años, 4 meses
Puntos: 0
Exclamación Clases-> Matrices-> Estructura

Buenas a todas y todos :D

Les explico:

Tengo un archivo llamado: definiciones_clases.h donde como su nombre lo indica estan definidas las clases.

Código:
/* MAPA */
class mapa
{
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////// MATRIZ LOGICA ///////////////////////////////

// estructura de un tren en la matriz logica
typedef struct trensito
{
        int tipo; // 1. Pasajero
                 // 2. Carga
}TREN;

//estructura de un track de la via ferrea dentro de la
// matriz logica
typedef struct tracksito
{                  
        int tipo; 
        bool status; // 0. Ocupado 1. Libre
}TRACK;


//estructura de una celde de la matriz logica
typedef struct celdita
{
        int tipo; // 1. Estacion   2. Tren    3. Track
        TRACK tra; //tra tra tra tra
        TREN tre;

} CELDA;

////FIN/////////////////////////// MATRIZ LOGICA ///////////////////////////////
////////////////////////////////////////////////////////////////////////////////

        private:
                CELDA clda[17][20];
                int x,y;

        public:
                mapa(CELDA clda);
                //metodo que carga la configuracion actual de la simulacion
                void cargar_configuracion(void);
                //metodo utilizado para verificar que tipo de elemento hay en
                //unas coordenadas dadas: 1. estacion 2. tren 3. track
                int verificar_posicion(int x, int y,CELDA clda);
};  //fin de la definicion de la clase: mapa
Quisiera resaltar, CELDA clda[17][20]; ya que es donde tengo el problema.

Mi primera pregunta es, si es válido declarar la estructura (CELDA) de la matriz (cld[17][20]) en donde esta...?


Luego, el archivo llamado

Luego el archivo llamado: implementacion_clases.cpp es donde desarrollo el codgo de los metodos de las clases.

Código:
#include "definicion_clases.h"


//constructor que inicializa la matriz logica 
mapa::mapa(clda)
{
        int fi,co;
        for (fi=0;fi<=17;fi++)
        {
                for (co=0;co<=20;co++)
                {
                       clda[fi][co].
                        x=0;
                } // fin del for (co=0;co<=20;co++)
        } // fin del for (fi=0;fi<=17;fi++)

};
es aqui, en la linea roja, donde al colocar el . para acceder a la estructura me da el siguiente error:

[C++ Error] implementacion_clases.cpp(1): Unable to invoke Code Completion due to errors in source code


he tbn colocado en: mapa::mapa(clda) -----------> mapa::mapa(CELDA clda)

pero de ninguna manera me funciona.


Esperando por favor me ayuden

Gracias de antemano.
  #2 (permalink)  
Antiguo 28/02/2008, 15:57
Avatar de arwen_1  
Fecha de Ingreso: diciembre-2006
Mensajes: 81
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Clases-> Matrices-> Estructura

Ok, me respondo a mi misma. ya encontre la solucion y como siempre despues de saberlo parece lo mas obvio del mundo! y enn algunos casos lo es 8-).

Veamos:
  1. mapa(CELDA clda);
  2. mapa::mapa(clda)

Como ya declare:
CELDA clda[17][20];

resulta innecesario enviarlo por parametro. ya que pues supongo que el compilador se pregunta: ¿Ya no lo declaraste, para qué enviarmelo por parametro?

Por lo que la solucion es quitar clda de los parametros, e igualmente dentro de la funcion lo reconoce (cosa que yo no sabia)

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:29.