Ungültige Dereferenzierung
-
Hallo zusammen!
Ich habe folgendes Problem: Ich habe einen Zeiger (index) auf eine Struktur. Die Struktur hat als Member u. a. einen void-Zeiger (data), der auf einen Integerwert verweist. Ich möchte nun den Wert der Integervariable haben, schaff das aber nicht, bzw. nur über Umwege. Kann mir jemand helfen? Über Umwege hab ich es so geschafft:
int *temp; temp = (int*) index->data; printf("%i\n",(int*) *temp);
Nun geht das Ganze sicher auch ohne den Zwischenschritt über die temp Variable, ich weiss aber nicht wie das syntaktisch korrekt ist. Solche Sachen wie unten gehen auf jedenfalls nicht
printf("%i\n",(int*) index->*(data));
Ich danke im Voraus für alle Antworten!
mfg
H. Feiss
-
printf("%i\n",(int) ((int)index->data));
Vermutlich auch:
printf("%i\n", ((int)index->data));
-
*(int*)meinZeiger->data
Besser wäre aber, den void gleich als int zu deklarieren, dann fällt der Cast weg:
*meinZeiger->data