Problema con punteros genéricos

alemoreno
03 de Diciembre del 2003
Tengo un struct llamado elemento:
elemento X;
Luego tengo una función llamada Cima que es una función genérica de una pila que devuelve un puntero genérico (void *):
void* ptX;
ptX=Cima(&pila);
¿Cómo hacer que en X consiga tener lo apuntado por ptX?
Me he declarado un puntero aux, que es puntero al struct:
aux* elemento;
aux=ptX;
X=*aux;
Me da un core.

Martin Candurra
03 de Diciembre del 2003
Porque no publicas las definiciones de los tipos ?
Seria bueno que utilizes los casteos correspondientes.


Saludos

pepe
03 de Diciembre del 2003
El puntero devuelto es de tipo void, esto esta bien para devolver cualquier tipo de dato, pero el compilador necesita saber a que tipo de dato va a convertir el tipo vodi. Es tan sencillo como castearlo:
elemento *X;
X=(elemento* )Cima(&pila);

Un saludo