Dereferenzieren des Leerzeigers in C ++

Ich versuche, eine generische verknüpfte Liste zu implementieren. Die Struktur für den Knoten lautet wie folgt:

typedef struct node{
        void *data;
        node *next;      
};

Wenn ich nun versuche, den Daten eine Adresse zuzuweisen, nehme ich zum Beispiel für ein int an, wie:

int n1=6;
node *temp;
temp = (node*)malloc(sizeof(node));
temp->data=&n1;

Wie kann ich den Wert von n1 vom Knoten erhalten? Wenn ich sage -

cout<<(*(temp->data));

Ich bekomme -

`void*' is not a pointer-to-object type 

Wird ein ungültiger Zeiger nicht in einen int-Zeigertyp umgewandelt, wenn ich ihm eine int-Adresse zugebe?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage