Fehler: expected `{' before »public« ???



  • Hallo
    kann mir jemand bei folgender Fehlermeldung weiterhelfen?

    text_groes.h: In constructor »Schrift::Schrift(const char*, QWidget*)«:
    text_groes.h:8: Fehler: expected `{' before »public«
    make: *** [main.o] Fehler 1
    

    text_groes.h...

    class Schrift : public QLabel
    {
    	Q_OBJECT	//notwendig, da Klasse Schrift Slots enthält
    
    public:
    	Schrift(char const * text, QWidget * parent) : QLabel(text, parent)
    
    public slots:
    	void stelle_neu_dar(int groesse){
    		setFont(QFont("Times",groesse));
    		repaint();
    	}
    };
    

    Mir ist völlig unklar wo da eine { hinsoll. Ich probier grad in die Qt-Thematik reinzukommen und das sollte mein erster 'eigener' Slot werden, hoffe ich nerve hier nich zu sehr mit Anfängerproblemen. Danke für jede Unterstützung.
    ->Lukas



  • public:
        Schrift(char const * text, QWidget * parent) : QLabel(text, parent)
        {} // <--
    


  • Schrift(char const * text, QWidget * parent) : QLabel(text, parent) // <--
    


  • mit finix' Vorschlag kann ich gar nichts anfangen, was bringt ein Kommentar?

    michbas' Vorschlag mit dem Klammerpaar hatt ich schon ausprobiert, darauf folgte:

    usr/include/qt3 -o moc_text_groes.o moc_text_groes.cpp
    text_groes.h:2: Fehler: expected class-name before »{« token
    text_groes.h:3: Fehler: ISO-C++ verbietet Deklaration von »Q_OBJECT« ohne Typ
    text_groes.h:5: Fehler: expected »;« before »public«
    text_groes.h:9: Fehler: expected `;' before »public«
    text_groes.h:9: Fehler: expected `:' before »slots«
    text_groes.h:10: Fehler: expected primary-expression before »void«
    text_groes.h:10: Fehler: ISO-C++ verbietet Deklaration von »slots« ohne Typ
    text_groes.h:10: Fehler: expected »;« before »void«
    text_groes.h:14: Fehler: expected `;' before »}« token
    moc_text_groes.cpp:22: Fehler: keine Elementfunktion »const char* Schrift::className() const« in Klasse »Schrift« deklariert
    moc_text_groes.cpp:27: Fehler: »QMetaObject* Schrift::metaObj« ist kein statisches Element von »class Schrift«
    moc_text_groes.cpp:28: Fehler: »staticMetaObject« ist kein Element von »Schrift«
    moc_text_groes.cpp:31: Fehler: keine Elementfunktion »QString Schrift::tr(const char*, const char*)« in Klasse »Schrift« deklariert
    moc_text_groes.cpp:39: Fehler: keine Elementfunktion »QString Schrift::trUtf8(const char*, const char*)« in Klasse »Schrift« deklariert
    moc_text_groes.cpp:50: Fehler: keine Elementfunktion »QMetaObject* Schrift::staticMetaObject()« in Klasse »Schrift« deklariert
    moc_text_groes.cpp: In member function »QMetaObject* Schrift::staticMetaObject()«:
    moc_text_groes.cpp:52: Fehler: »metaObj« wurde in diesem Gültigkeitsbereich nicht definiert
    moc_text_groes.cpp:54: Fehler: »QLabel« wurde nicht deklariert
    moc_text_groes.cpp:62: Fehler: »metaObj« wurde in diesem Gültigkeitsbereich nicht definiert
    moc_text_groes.cpp: At global scope:
    moc_text_groes.cpp:75: Fehler: keine Elementfunktion »void* Schrift::qt_cast(const char*)« in Klasse »Schrift« deklariert
    moc_text_groes.cpp: In member function »void* Schrift::qt_cast(const char*)«:
    moc_text_groes.cpp:79: Fehler: »QLabel« wurde nicht deklariert
    moc_text_groes.cpp: At global scope:
    moc_text_groes.cpp:82: Fehler: keine Elementfunktion »bool Schrift::qt_invoke(int, QUObject*)« in Klasse »Schrift« deklariert
    moc_text_groes.cpp: In member function »bool Schrift::qt_invoke(int, QUObject*)«:
    moc_text_groes.cpp:85: Fehler: »stelle_neu_dar« wurde in diesem Gültigkeitsbereich nicht definiert
    moc_text_groes.cpp:87: Fehler: »QLabel« wurde nicht deklariert
    moc_text_groes.cpp: At global scope:
    moc_text_groes.cpp:92: Fehler: keine Elementfunktion »bool Schrift::qt_emit(int, QUObject*)« in Klasse »Schrift« deklariert
    moc_text_groes.cpp: In member function »bool Schrift::qt_emit(int, QUObject*)«:
    moc_text_groes.cpp:94: Fehler: »QLabel« wurde nicht deklariert
    moc_text_groes.cpp: At global scope:
    moc_text_groes.cpp:98: Fehler: keine Elementfunktion »bool Schrift::qt_property(int, int, QVariant*)« in Klasse »Schrift« deklariert
    moc_text_groes.cpp: In member function »bool Schrift::qt_property(int, int, QVariant*)«:
    moc_text_groes.cpp:100: Fehler: »QLabel« wurde nicht deklariert
    moc_text_groes.cpp: At global scope:
    moc_text_groes.cpp:103: Fehler: keine Elementfunktion »bool Schrift::qt_static_property(QObject*, int, int, QVariant*)« in Klasse »Schrift« deklariert
    make: *** [moc_text_groes.o] Fehler 1
    

    ...was die Sache für mich nicht angenehmer machte. Ich hab das Code-Beispiel übrigens einfach dem Buch 'Das Qt Buch' von Helmut Herold SuSE-Press entnommen ()etwas älter, noch Qt-3, wie ich es verwende).
    Danke auch für weitere Hilfe.
    ->Lukas



  • Leute nehmts mir nich übel, ich hatte einfach vergessen am Anfang qlabel.h zu inkludieren... Anfänger eben...
    Danke trotzdem.
    ->Lukas


Anmelden zum Antworten