gegenseitiger zugriff auf klassen
-
class a; class b{ public: void DO(a x) { x.i++;} }; class a{ public: int i; void b(b a) { b.DO;} };gibt
test.cc: In member function »void b::DO(a)«: test.cc:5: Fehler: »x« has incomplete type test.cc:1: Fehler: forward declaration of »struct a« test.cc: At global scope: test.cc:12: Fehler: Deklaration von »void a::b(b)« test.cc:3: Fehler: verändert die Bedeutung von »b« von »class b« test.cc: In member function »void a::b(b)«: test.cc:12: Fehler: »((a*)this)->a::b« hat keinen KlassentypHilfe wie geht das???
-
Der Typ eines Parameters einer Funktion muss bei der Deklaration dieser Funktion nicht vollständig sein, wohl aber bei deren Definition (oder beim Aufruf derselben).
=>
Definiere die Funktionen nach der Definition von class a und class b.class a; class b{ public: void DO(a x); }; class a{ public: int i; void b(b a); }; void b::DO(a x) { x.i++;} void a::b(b a) { b.DO();}
-
Ok hätte ich mir denken können

DANKE
jetzt weiß ich mehr