Hallo,
hm, ich habe in der main() folgenden Code, um die Instanz von CHochschule zu erzeugen:
Code:
CHochschule hs;
hs.SemesterBeginn();
Nun brauche ich in der
CPruefungsamt.h einen Pointer auf diese Instanz, um auf diese zugreifen zu können. Das ist das, was ich erreichen möchte. Da
CHochschule.h jedoch in der
stdafx.h eingebunden ist, ist CHochschule in der
CPruefungsamt.h bekannt (Das kann ich auch überprüfen, indem ich in dieser Headerdatei das hier eingebe: "CHochschule::". Da popt dann das Fenster mit den Methoden auf, was mir zeigt, dass CHochschule bekannt ist. Daher brauche ich hier keine Vorwärtsdeklaration.).
Der Fehler wird jedoch in der
CPruefungsamt.h durch diese Zeile ausgelöst:
Daher kann es doch eigentlich keine Konflikte geben, erst recht nicht, was die Deklaration von CHochschule anbelangt. ich weiß auch nicht, was diese eine Zeile mit den Headerdateien anstellen möchte, das dürfte doch keine Auswirkungen darauf haben.
Nachtrag:
Mit der Vorwärtsdeklaration funktioniert das wirklich, danke. Doch das kann ich mir absolut nicht erklären. Kann man dies nicht auch ohne diese lösen?
Nachtrag 2: Ich vermute, dass die
CPruefungsamt.cpp, die
stdafx.h einbindet, vor der
CPruefungsamt.h durchlaufen wird, weshalb
CPruefungsamt.h die Klasse
CHochschule noch nicht kennt.