Wieso sind meine Methoden keine Elemente meiner Klasse??
-
Hallo
ich habe ein großes Problem und zwar habe ich eine Klasse von CRecordset abgeleitet um eine ODBC Verbindung zu erstellen. Damit alles übersichtlich ist , benutze ich verschiedene Methoden , aber der Compiler sagt mir als diese
Fehlermeldung:C:\Dokumente und Einstellungen\Dors\Desktop\C++\EchoServer\DatabaseConnection.cpp(62) : error C2039: 'StoreUserData' : Ist kein Element von 'DatabaseConnection' C:\Dokumente und Einstellungen\Dors\Desktop\C++\EchoServer\DatabaseConnection.h(14) : Siehe Deklaration von 'DatabaseConnection'Und das bei allen drei Methoden wie Ihr in meiner nun abgebildeten Klasse sehen könnt:
[cpp]#if !defined(AFX_DATABASECONNECTION_H__23225211_E680_4772_B5DD_254D523D20B2__INCLUDED_) #define AFX_DATABASECONNECTION_H__23225211_E680_4772_B5DD_254D523D20B2__INCLUDED_ #include <afxdb.h> #include <string> #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // DatabaseConnection.h : Header-Datei // ///////////////////////////////////////////////////////////////////////////// // Satzgruppe DatabaseConnection class DatabaseConnection : public CRecordset { public: DatabaseConnection(CDatabase* pDatabase = NULL); DECLARE_DYNAMIC(DatabaseConnection) // Feld-/Parameterdaten //{{AFX_FIELD(DatabaseConnection, CRecordset) //}}AFX_FIELD // Überschreibungen // Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen //{{AFX_VIRTUAL(DatabaseConnection) public: virtual CString GetDefaultConnect(); // Standard-Verbindungszeichenfolge virtual CString GetDefaultSQL(); // Standard-SQL für Satzgruppe virtual void DoFieldExchange(CFieldExchange* pFX); // RFX-Unterstützung //}}AFX_VIRTUAL // Implementierung #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; void LoadUserList(); void LoadCarList(); void LoadLeasingList(); void StoreUserData(std::string NewUser); void StoreCarData(std::string NewCar); void StoreLeasingData(std::string NewLeasing); #endif }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein. #endif // AFX_DATABASECONNECTION_H__23225211_E680_4772_B5DD_254D523D20B2__INCLUDED_ [/cpp]Ich weiss net wie ich diesen Fehler beheben kann, kann mir jemand helfen??
gruß Silver
-
Hast du (a) die Methode implementiert und (b) den Debug Modus abgeschaltet, dass das #ifdef nicht greift?
-
ich würde ja das '#endif' etwas nach oben verschieben (genauer - hinter die Deklaration von Dump()).
-
CStoll schrieb:
ich würde ja das '#endif' etwas nach oben verschieben (genauer - hinter die Deklaration von Dump()).
Wie blöd, danke genau das war der Fehler. Mir ist das überhaupt nicht aufgefallen

-
dir nicht - dem Compiler (genauer: Präprozessor) schon
