[C con Clase] Array de listas dinamicas

Steven Davidson steven en conclase.net
Lun Mayo 28 07:32:20 CEST 2007


Hola José,

El pasado 2007-05-27 22:34:38, hidelmecio escribió:

h> Saludos a todos de nuevo.
h> Quisiera consultarles para ver si estoy equivocado.
h> ¿Se puede crear un array de listas abiertas (E.D.D.)?
h> En mi caso he intentado lo siguiente:
h> //Al principio del programa declaro el array de las listas.
h> listaFichas Ficha[2];
h> // Establezco un constructor
h> class listaFichas {
h>    public:
h> 	listaFichas() { primero = actual = NULL;
h>                 fichas = IMG_Load ("fichas.gif");
h>                 infoficha = IMG_Load("info.gif");
h>               }
h>    }
h> // y al final del programa realizo una llamada a un metodo que me borre la lista.
h> // Dentro del cual libero las superficies
h> // SDL_FreeSurface (fichas);
h> // SDL_FreeSurface(infoficha);
h> for (int i = 0; i < 2; i++) Ficha [i].BorrarLista ();
h> Pues bien, al compilarlo no da problema alguno. Al ejecutarlo tampoco, pero al finalizarlo me sale una ventana de windows XP con el error:
h> AppName: juego1.exe	 AppVer: 0.0.0.0	 ModName: ntdll.dll
h> ModVer: 5.1.2600.1217	 Offset: 000339db
h> ¿Alguien podría decirme donde falla mi array de listas abiertas?

No veo ningún problema con el hecho de que manipules un array de objetos. El error seguramente está al manejar las funciones de SDL. Yo me aseguraría que las funciones 'IMG_Load()' realmente logran cargar las imágenes al igual que crear las superficies SDL. Comprueba que 'fichas' e 'infoficha' no sean punteros nulos.


Espero que esto te oriente.

Steven


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