Ver Mensaje Individual
  #1  
Antiguo 09-08-2010
Kandorf Kandorf is offline
Miembro
 
Registrado: may 2007
Posts: 38
Reputación: 0
Kandorf Va por buen camino
Problema Polimorfismo y Array bidimensiona[N][N]

Hola, estoy creando un juego y se me presenta el siguiente problema:
Los escenarios están divididos en Tiles(cuadraditos), para saber si puedo atravesar o no cada tile, tengo un array numérico.
He creado una clase padre TEscenario y quiero crear una subclase por cada escenario del juego (Si se os ocurre una idea mejor decídmelo).
La clase padre es algo así:
Código:
class TEscenario {
    public:
        TEscenario();
        (...)

        static const u8 Tiles[][]; // No sé cuántos elementos, sí se sabrá en cada clase que herede de ésta
};
y tengo la subclase Escenario1:
Código:
class Escenario1: public TEscenario{
    public:
        Escenario1();

        static const u8 Tiles[27][177];
};
Escenario1::Escenario1(){
    (...)
}
const u8 Escenario1::Tiles[27][177]=// Aquí lo inicializo, pero es demasiado largo para postearlo
El problema está en que en la clase padre da error la línea "static const u8 Tiles[][];", dice que en los array multidimensionales hay que indicar el tamaño de todas las dimensiones excepto de la primera, he probado a poner "static const u8 Tiles[]", pero al usar la segunda dimensión falla, como es lógico, también he probado "static const u8 **Tiles", pero al compilar falla en el linking.

He pensado que se podría solucionar dándole un límite de tamaño al array, pero no me gustaría darle un tamaño máximo a los escenarios.

Si utilizo la subclase directamente, sin el polimorfismo, funciona perfectamente, el problema es que no sé qué escenario tendré cargado y necesito el polimorfismo.

Saludos y gracias por las molestias.
Responder Con Cita