Verständnisproblem: Konstruktoraufruf CFileDialog schlägt fehl
-
Hallo,
warum funktioniert die instanzierung auf diese Art nicht:
Auszug aus Klassenheader:
CFileDialog m_FileDialog ( false, NULL, NULL, 0);Ich erhalte die Fehlermeldung:
c:\projekte\pctestneu\flashcardio\pcflashdlg.h(27) : error C2059: Syntaxfehler : 'constant'false und NULL sollten doch bekannt sein, oder täusche ich mich da.
hmm, funktioniert wenn ich es lokal in de Funktion mache einwandfrei, aber wieso nicht als Objekt (Membervariable) ?
Gruss
F.
-
Der Aufruf des Konstruktors gehört nicht in den Header sondern in (bzw. "über") den Konstruktor der Klasse.
PS: So in etwa:
DeineKlasse::DeineKlasse() : CBasisKlasse(dies, das) , m_FileDialog ( false, NULL, NULL, 0) {
-
Dann haben sie (m_FileDialog) aber nicht als Membervariable - das war eigentlich meine Frage, wieso das net funktioniert, bzw nur bei Standard-Konstruktoren ohne Argumente funktioniert.
-
Du deklarierst CFileDialog als Member in DeineKlasse:
CFileDialog m_FileDialog;und fügst den Code von estartu im Konstruktor hinzu. Dann hast Du genau das, was Du wolltest.
-
Leider nicht, nochmal - deine Deklaration schlägt beim Kompilieren fehl, da MFC anmeckert es gibt keinen geeigneten Standardkonstruktor...
-
Zeig bitte mal deinen Code, so wie du ihn nun angepasst hast. Header und cpp.