[C con Clase] Cambiar el tipo de un puntero, p.ej de int* a int**, en runtime
carles
carsato1 en yahoo.es
Vie Ago 22 14:02:58 CEST 2008
Hola a todos
Quiero trabajar con una matriz de n dimensiones
matriz[0][1]...[n-1]
Pero la dimension de la matriz se conoce en ejecución y no en tiempo
de compilación. Esta matriz está dentro de una clase y antes de recurrir
a hacer una clase por cada dimensión me gustaría saber si puedo cambiar
el tipo de matriz para que se pueda reservar espacio segun la dimensión
que tenga.
Lo que he estado intentando es definir la matriz como un puntero
int *matriz;
y después intentar cambiar el tipo de matriz a int**, int***, para las
diferentes dimensiones, para poder reservar espacio dinamicamente con el
operador new.
He intentado cosas tipo
matriz=reinterpret_cast<int**>(matriz);
matriz=dynamic_cast<int**>(matriz);
...
etc
La conversion explicita no funciona y ninguna de las pruebas que he
hecho con dynamic_cast, reinterpret_cast, etc ha funcionado.
La idea es usar un switch que cambie el tipo de "matriz" dependiendo de
las dimensiones.
En fin.
Espero que haya quedado claro.
Gracias por tu tiempo.
Más información sobre la lista de distribución Cconclase