[C con Clase] Cambiar el tipo de un puntero, p.ej de int* a int**, en runtime

David fire ddfire en gmail.com
Mie Ago 27 15:04:14 CEST 2008


si lo que realmente quieres es cambiar el tipo de puntero en tiempo de
ejecucion lo que tienes que usar es un puntero a void.
void *puntero_a_lo_que_sea;

ok como funciona esto, básicamente le decís al compilador que le vas a pasar
un puntero que solo dios sabe de que es.
bueno en realidad tu deberias saber de que es.
si necesitas puntero a puntero usa void **papvoid;
entonces ya tienes un puntero que puede apuntar a cualquier tipo de puntero,
lo único antes de usarlo debes castearlo.

igual esta solucion y la de los int ***********puntero; es de lo mas
salvaje, la forma de hacerlo es con listas C++
aca te dejo un link
http://www.yolinux.com/TUTORIALS/LinuxTutorialC++STL.html#LIST
saludos



2008/8/27 carles <carsato1 en yahoo.es>

> Hola
>
>  He intentado usar variables anónimas y he tenido el mismo problema de
> cambio de tipo.
> Creo que no es posible tener un puntero para, en tiempo de ejecución,
> asignarle un tipo diferente.
>  He implementado mi programa empleando un puntero unsigned int*, y uso una
> función que calcula el
> índice del vector dependiendo de las n coordenadas por direccionamiento
> tradicional:
>   (...((coord1)*base+coord2)*base+ ...)+coordN
>  Esto hace que se puedan acceder a todos los elementos del vector y puedo
> simular n dimensiones
> en cualquier momento como si fuera matrix[coord1][coord2]...[coordN].
>  He encontrado un inconveniente y es que "base" siempre tiene que ser igual
> para cada una de las coordenadas
> es decir puedo tener matrices tipo matriz[4][4]...[4] o
> matriz[base][base]...[base] pero no puedo
> tener matrices tipo matriz[1][2][3][4]...[N]. De todos modos tal como lo
> tengo hasta ahora me sirve perfectamente.
>
> Un saludo
> http://www.pagina0.com/
> <a href="http://www.pagina0.com/">www.pagina0.com</a>
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>



-- 
(\__/)
(='.'=)This is Bunny. Copy and paste bunny into your
(")_(")signature to help him gain world domination.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20080827/29f24405/attachment.html>


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