Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Anonymous
unregistriert
Anonymous
unregistriert
Zitat
Wie wird denn im allg. vorgegangen, gibt es eine Header Datei, die alle anderen einbindet, oder sollten andere Header Dateien immer nur die includen, die sie auch wirklich brauchen
Ich denke das dieses Problem daher rührt das deine Header A die Header B einbindet und Header B aber auch Header A einbindet. Kann natürlich auch ein anderer Fehler sein. Wie z.B. eine Fehlende Klammer oder ein vergessenes Semikolon.Zitat
Ich bin z.B. in einer Header Datei A eine andere B ein (alles selbstgeschriebene), um dann in A ein Symbol (z.B. eine Klasse) aus B zu verwenden. Trotzdem sagt mir der Compiler, dass er das Symbol (in A, aus B) nicht kennt.
Dafür kann man ja eine Klasse/Struktur bekannt machen. Die eine Klasse/Strktur muss dann nur einen Zeiger oder Referenz benutzen, sonst will der Compiler die Größe der Klasse haben. Z.B. soZitat
Gibt es nicht auch Probleme, wenn 2 Klassen sich quasi gegenseitig brauchen?
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 |
struct A; struct B { int i; A* pa; }; struct A { B b; }; |
Anonymous
unregistriert
Zitat
Probleme gibt es mit vielen Header Files nicht. Es wird aber unübersichtlich, weil man nachher nicht mehr weis was wo schon eingefügt wurde.
Nein gibt es nicht. Denn weder der Manager includiert den VB noch der VB Inkludiert den ManagerZitat
Doch gibt es, VertexBufferManager included VertexBuffer, Vertexbuffer included VertexBufferManager weil jede Klasse ein pointer der anderen braucht. Ohne vordeklaration wäre so etwas nicht möglich und man müsste es in 1 header packen.
Werbeanzeige