'm_pMAinWnd' : nichtdeklarierter Bezeichner
-
Hallo,
ich bin Anfänger mit MFC und arbeite mir gerade mit diesem Online tutorial ein:
http://www.cpp-tutor.de/mfc/mfc/kap3/lektion3.htmin der folgender Zeile:
m_pMainWnd = new CFrameWnd;
erhalte ich folgenden Fehler:
error C2065: 'm_pMAinWnd' : nichtdeklarierter Bezeichner
ich habe online schon nach hilfe gesucht. Aber nichts passendes gefunden.
mein Klassse ist von CWnd abgeleitet und ich habe afxwin.h eingebunden.
Zum Programmieren verwende ich Microsoft Visual Studio 2010.
Falls es eine total dumme Frage ist, tut es mir leid (Anfänger).
Danke schonmal für eure Hilfe
Mike
BOOL CMyApp::InitInstance() { // Fensterobjekt erstellen m_pMainWnd = new CFrameWnd; // Fehler abfangen if (m_pMainWnd == NULL) { // Bei Fehler Anwendung beenden MessageBox(NULL, "Fehler beim Erstellen des Fensterobjektes!", "FEHLER",MB_OK|MB_ICONERROR); return FALSE; } // Fenster erstellen // ACHTUNG! Typkonvertierung des Zeigers beachten BOOL bRetCode = ((CFrameWnd*)m_pMainWnd)-> Create(NULL,"Mein erstes Fenster"); // Fehler abfangen if (!bRetCode) { MessageBox(NULL, "Fehler beim Erstellen des Fensters!", "FEHLER",MB_OK|MB_ICONERROR); return FALSE; } // Fenster anzeigen m_pMainWnd->ShowWindow(m_nCmdShow); return TRUE; }
-
Hast du denn die (Member)Variable m_pMAinWnd definiert (in genau dieser Schreibweise inklusive Groß-/Kleinschreibung)?
-
Ich dachte, dass m_pMAinWnd automatisch definiert ist.
Ich hatte es so verstanden, dass m_pMAinWnd in CWnd definiert ist und da ich meine Klasse von dieser ableite wäre es automatisch definiert.
Habe ich da etwas falsch verstanden?
-
Die einzige Membervariable m_pMainWnd (übrigens mit kleinem 'a') gibt es laut MSDN in der CWinThread-Klasse.
PS: Die Schreibweise in der Fehlermeldung passt übrigens nicht zu deinem Code (in letzterem ist die Variable richtig geschrieben).
PPS: Die Rückgabe von new auf NULL zu prüfen ist übrigens unnötig - wenn dort tatsächlich ein Fehler aufgetreten sein sollte, beendet sich das Programm per Exception.
-
Hi,
hab meine Fehler gefunden. Hab meine Klasse von CWnd abgeleitet, aber ich hätte sie von CWinApp ableiten müssen. Immer solche dummen Fehler
Aber nochmal danke für eure Hilfe.Ich melde mich bestimmt bald wieder
Mike