Ich bin neu in C++, also kann diese Frage grundlegend sein:Zwei Klassen, die sich aufeinander beziehen
Ich habe zwei Klassen, die aufeinander verweisen müssen. Jeder befindet sich in einer eigenen Header-Datei und # enthält die Header-Datei des anderen. Wenn ich versuche zu kompilieren, bekomme ich den Fehler "ISO C++ verbietet die Deklaration von 'Foo' ohne Typ" für eine der Klassen. Wenn ich die Dinge so umschalte, dass der entgegengesetzte Header zuerst geparst wird, bekomme ich den gleichen Fehler mit der anderen Klasse.
Ist es in C++ möglich, zwei Klassen zu haben, die Referenzen zueinander benötigen?
Für weitere Details: Ich habe eine "App" -Klasse und eine "Window" -Klasse. App muss auf Fenster verweisen, um das Fenster zu erstellen. Fenster hat eine Schaltfläche, die zurück zur App ruft, also benötigt es einen Verweis auf App. Wenn ich nicht zwei Klassen aufeinander beziehen kann, gibt es einen besseren Weg, dies zu implementieren?
Es sollte beachtet werden, dass wechselseitige Abhängigkeiten möglichst vermieden werden sollten. Wäre es sinnvoll, die Funktionalität der Schaltflächen in der App in ein separates Controller-Objekt zu übernehmen? –
Ich finde dieses Problem ziemlich oft in meinen kleinen Spielen. Ich habe ein World-Objekt, das Game-Objekte enthält, die z. B. auf das World-Objekt verweisen müssen. Kollisionserkennung. Ich habe keinen guten Weg gefunden, das umzubauen. (Und übrigens, ich wecke eine 7 Jahre alte Diskussion, um mir eine Art Abzeichen zu verdienen) – Johan