C++ Variablen Deklaration unbekannter Typ

Hallo zusammen,

ich möchte eine Variable deklarieren, deren Typ erst zur Laufzeit bekannt wird.
z.B. eine Variable mit Namen ‚data‘ soll entweder vom Typ integer, double oder string sein, jenachdem ob ein Parameter 0,1,2 … ist.
Wie kann ich das realisieren?
Mit switch/case geht das nicht, weil die Variable außerhalb von switch/case nicht bekannt ist.

Es wäre toll, wenn mir jemand helfen könnte
Viele Grüße
Conny M.

Hallo.

ich möchte eine Variable deklarieren, deren Typ erst zur
Laufzeit bekannt wird.
z.B. eine Variable mit Namen ‚data‘ soll entweder vom Typ
integer, double oder string sein, jenachdem ob ein Parameter
0,1,2 … ist.

Du könntest einen Union-Typ definieren. Und dann je nach Wert des Parameters auf den entsprechenden Teil des Unions zugreifen:

typedef union
{
 int i;
 double d;
 char c;
} meinTyp;
meinTyp data;

Wie kann ich das realisieren?

Eventuell wäre es dann noch sinnvoll, den union in einen struct zu packen, wo eine weitere Variable mit drinliegt, ob nun int, double oder sonstwas genommen werden soll. Also quasi deinen dir bekannten Parameter.

Sebastian.

Hallo Sebastian,
vielen Dank für Deine Antwort, Du hast mir sehr geholfen.
Viele Grüße
Conny

1 Like