Structure mit einer Variablen unbekannten Typs
-
Hi,
ich will folgendes realisieren:
Ich erstelle einen Array einer Structure. Diese soll zwei Felder enthalten. Ein Feld soll int. Je nach der Nummer, die im ersten Feld enthalten ist, enthält das zweite Feld unterschiedliche Werte mit unterschiedlichen Typen.Ein paar Beispiele:
Nummer|Typ von Feld 2|Inhalt von Feld 2
1|char*|"Haus\0"
2|int|50
3|short|20
4|SomeEnum|OneEnumOfSomeEnum
1|char*|"Auto\0"Der Wert des ersten Feldes soll also nicht angeben, welcher Inhalt im zweiten Feld enthalten ist, sondern welchen Typ der Inhalt des zweiten Feldes hat.
Mein erster Gedanke war eine Structure anzulegen die als Typ für das zweite Feld void* hat. Dann müßte ich allerdings immernoch für jeden Wert im ersten Feld einen dementsprechenden cast vornehmen. Diese Möglichkeit scheint mir nicht sehr elegant.
Hätte von Euch jemand eine Idee?
-
is jetzt vielleicht nicht die eleganteste Möglichkeit, aber das 2 Feld könnte man zu einer union mit Variablen von allen möglichen Typen machen; abhängig vom Wert im 1. Feld wäre dann die Variable mit dem entsprechenden Typ gültig