Desreferenciación del puntero vacío en C ++
Estoy tratando de implementar una lista enlazada genérica. La estructura para el nodo es la siguiente:
typedef struct node{
void *data;
node *next;
};
Ahora, cuando intento asignar una dirección a los datos, supongamos, por ejemplo, un int, como -
int n1=6;
node *temp;
temp = (node*)malloc(sizeof(node));
temp->data=&n1;
¿Cómo puedo obtener el valor de n1 desde el nodo? Si yo digo -
cout<<(*(temp->data));
Yo obtengo -
`void*' is not a pointer-to-object type
¿El puntero de void no se tipifica para el tipo de puntero int cuando le asigno una dirección de int?