strukturen gegenseitig einbinden
-
struct A { struct B b; // ... // weitere member, anders als in struct B }; struct B { struct A a; // ... // weitere member, anders als in struct A };hi, ich bekomme die fehlermeldung:
'b' verwendet undefiniertes struct 'B'
wie kann man sowas lösen?
-
Mit direkt eingebundenen Strukturen gar nicht - durch die rekursive Einbindung würdest du sonst unendlich große Objekte erzeugen. Eine Lösung besteht darin, zumindest in einer Richtung Zeiger zu verwenden:
struct B; //Forward-Deklaration - ausreichend um Zeiger darauf anzulegen struct A { struct B* b; // ... // weitere member, anders als in struct B }; struct B { struct A a; // ... // weitere member, anders als in struct A };
-
danke!
