Typname erwartet?
-
Hi;
Ich habe folgenden Code
//--------------------------------------------------------------------------- #ifndef CDataEditH #define CDataEditH #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <math.hpp> #include <algorithm> #include <vector> using namespace std; //--------------------------------------------------------------------------- class CDataEdit : public TPanel { private: public: CDataEdit(Classes::TComponent* AOwner); }; #endifund bekomme folgende Fehlermeldung
[C++ Fehler] CDataEdit.h(18): E2303 Typname erwartetBei der Fehlermeldung geht der cursor nach
class CDataEdit : public TPanel
{|Das verstehe ich leider nicht
-
Ich habe jetzt
#include <ExtCtrls.hpp>
mit includiert.
Das hat geholfen
ABER
[C++ Fehler] CDataEdit.h(23): E2113 Virtuelle Funktion 'CDataEdit::CDataEdit(TComponent )' verursacht Konflikte mit der Basisklasse 'TPanel'
Obwohl ich in der TPanel deklaration nachgesehen habe.
TPanel wird auch mit Classes::TComponent AOwner deklariert.
-
Hallo
wenn du schon dir die Definition des Konstruktors von TPanel anschaust, hättest du auch merken können, das es so aussehen muß
virtual __fastcall CDataEdit(Classes::TComponent* AOwner);Das __fastcall muß auch in die Implementation des Konstruktors.
Übrigens kannst du dir bei dem Ableiten von VCL-Komponenten auch vom Assistenten helfen lassen, zu finden unter Menü Komponente/Neue Komponente...
bis bald
akari
-
Ja klar, Danke