Ich weiß, dass ähnliche Fragen dazu zuvor gestellt worden sind, aber nach meiner Forschung habe ich noch Fragen zu Rundschreiben Header umfasst.C++ - Rundkopf enthält
Nun, wenn ich zwei zirkuläre Abhängigkeiten habe, ist dies die Art, wie ich Leute auf Stackoverflow gesehen habe, um das Problem zu umgehen. Mein einziges Problem dabei ist, dass in meinem main.cpp ich fooa.h zuerst und dann „meine Frage ist foob.h
enthalten muss//main.cpp the right way
#include "fooa.h"
#include "foob.h"
//main.cpp that will surely get a compile error
#include "foob.h"
#include "fooa.h"
Jetzt gibt es eine Möglichkeit, diese Klassen in einer Weise erklären weiterleiten das wird Erlaube es mir nicht, die Reihenfolge zu beachten, in der ich die Header-Dateien in meine main.cpp einfüge? "
Wie die Antworten haben darauf hingewiesen, können Sie eine Forward-Deklaration in beiden Dateien verwenden können. Wenn die Situation komplizierter wäre, könnten Sie "fooa.h" 'von' foob.h' hinzufügen, was die gewünschte Einschlussreihenfolge garantiert. –
In den Includes im Beispielcode ist nichts Zirkuläres enthalten. Wenn du die fehlenden # endifs hinzufügst, ist alles in Ordnung. Welchen Kompilierungsfehler bekommst du? –