Compiler will Klasse nicht instanziieren
-
Hallo,
wahrscheinlich mach ich nen totalen Anfänger-Fehler, finde aber das Problem nicht.
Ich habe eine dialogbasierte Anwendung erstellt, einfach nur mit 2 Buttons. Einen zum Beenden, mit dem anderen will ich es einfach nur mal schaffen, dass er mir den Dialog anzeigt, mit dem ich eine Datei auswählen und öffnen kann.
Ich habe also eine von CFileDialog abgeleitete Klasse "OpenFile" erstellt und implementiert (OpenFile.h und OpenFile.cpp).
Zu dieser Klasse habe ich eine Methode erstellt (void FileToOpen()).
Diese Methode enthält bisher lediglichCFileDialog::DoModal();Ich denk mal dass ich alles richtig gemacht habe, der Compiler meckert auch nicht.
So, nun hab ich in "DateiOeffnenDlg.cpp" folgendes reingeschrieben:
void CDateiOeffnenDlg::OnBnClickedOpen() { OpenFile MyFile; //Zur Instanzierung MyFile.FileToOpen(); //Zum Aufruf der Methode }Folgende Fehler spuckt der Compiler aus:
error C2146: syntax error : missing ';' before identifier 'MyFile' warning C4551: function call missing argument list error C2065: 'MyFile' : undeclared identifier error C2065: 'MyFile' : undeclared identifier error C2228: left of '.FileToOpen' must have class/struct/unionDie letzte Meldung ist mir klar, da ja keine Instanzierung erfolgt.
Aber wieso nicht?Wo mach ich bitte den Fehler?
MfG und Danke
-
error C2146: syntax error : missing ';' before identifier 'MyFile'Das deutet normalerweise darauf hin, dass er den Typ von MyFile (also OpenFile) nicht kennt. Hast du die OpenFile.h includiert?
-
Tobiking2 schrieb:
Das deutet normalerweise darauf hin, dass er den Typ von MyFile (also OpenFile) nicht kennt. Hast du die OpenFile.h includiert?
Das hab ich mir auch schon gedacht, aber ich habe die OpenFile.h in DateiOeffnen.cpp und in DateiOeffnenDlg.cpp inkludiert.
Daher ja auch meine Verwunderung, da er die Klasse nun auf jeden Fall kennen sollte.
-
Also mir ist daraus jetzt kein Fehler ersichtlich, vielleicht ist er in der OpenFile.h?