etwas komplizierter Union(verschiedene Structs)
-
So ich habe mir eine Struct gebaut
struct test{ int x; union{ struct test1; struct test2; } kandi; } struct test1{ int y; type a; } struct test2{ int y; type b; }
so wenn ich jetzt mit:
struct test xx; int i=1; xx->kandi.y=i; //geht nicht: union hat kein Mitglied y xx->kandi->y=i; //geht sowieso nicht:
also, was mache ich mal wieder falsch?
Bitte helft mir.
-
Du versuchst auf eine nicht existierende Membervariable zuzugreifen.
-
geht das so überhaupt? musst du nicht die structs die du innen verwendest vorher definieren?
-
wertzh schrieb:
geht das so überhaupt? musst du nicht die structs die du innen verwendest vorher definieren?
Ja. Und noch dazu mittels korrekter Syntax deklarieren!
-
test xx; int i = 1; xx.test1.y = i; i == xx.test2.y;
-
hilft mir vom Syntax weiter, aber nicht bei meinem Programm...*groll*
Muss also alles doch etwas komplizierter werden.Danke Peer
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Nightstorm@home schrieb:
hilft mir vom Syntax weiter, aber nicht bei meinem Programm...*groll*
Muss also alles doch etwas komplizierter werden.Was hast denn genau vor?
-
... so finde ich es schöner (ungetestet):
struct test1{ int y; type a; } struct test2{ int y; type b; } struct test{ int x; union{ struct test1 ktest1; struct test2 ktest2; } kandi; } struct test xx; int i=1; xx.kandi.ktest1.y=i; xx.kandi.ktest2.y=i;
und das sollte auch funktionieren