Hallo allesamt,
mal eine programmiertechnische Frage. Folgendes Beispiel-Code-Schnipsel:
typedef struct { unsigned int id; union { struct_a; struct_b; } } mystruct;
typedef struct { int i; int c; } struct_a;
typedef struct { int i; string c; } struct_b;
Wenn ich jetzt ein Element von mystruct erzeugen will, muß der Compiler irgendwie rausfinden, welches Element der Union ich beschreiben will, d.h.
void do_something(unsigned int type) { mystruct s; if (type == TYPE_A) s.c = 50; if (type == TYPE_B) s.c = "Hello"; }
Frage: 1. Geht das hier beschriebene Beispiel problemlos (laut Dokumentation ist die Eventstruktur von SDL so aufgebaut, deswegen default=yes)
2. Wie funktioniert die Erkennung, auf welchen Typ der Union ich schreibe? In welchen Typ sich am besten casten laesst (default=dontknow)?
cu, Ulf