Seite 1 von 1

Compiler Error bei generiertem Code

Verfasst: 3. März 2009 16:44
von CodeMonkey
Hallo,

Ich wollte gerade nach einer kleinen Änderung in meinem Projekt dieses wieder kompilieren, da schmeißt mir der Compiler einen für mich völlig sinnlosen Compiler Error an den Kopf. Dieser Fehler bezieht sich jedoch auf eine völlig andere (nicht veränderte Stelle)

Code: Alles auswählen

MainWindow::MainWindow(QWidget *parent)                    //Zeile 5
    : QMainWindow(parent), ui(new Ui::MainWindowClass)  //Zeile 6
Fehlermeldung:

'parent' was not declared at this scope (5)
expected primary expression before '(' token (5)
expected primary expression before '*' token (5)
expected ';' before ':' token (6)

weiter unten kommt noch dass er den Destruktor nicht aufrufen kann und dass er } am Ende des Inputs erwartet -> Da sind aber alle }'s

Es handelt sich dabei um Code der von QTCreator erzeugt wurde und der meines Wissens auch keine Fehler enthält. Ich habe mein Programm ja schon einmal mit diesem Code laufen lassen

Zu meiner Änderung an meinem Code: Ich habe in einer Funktion, die mit dem Konstruktor hier überhaupt nichts zu tun hat (es geht um das Speichern von Daten) anstatt einer QList, 6 QLists erstellt, sprich einfach 5 hinzugefügt. Doch das dürfte den Fehler nicht ausgelöst haben, oder?

Auch rückgängig machen der Änderungen haben das Problem nicht gelöst. Werdet ihr daraus schlau?

PS: Ich hab den Header von MainWindow jetzt mal nicht gepostet, damit's nicht zu viel Code wird. Wenn das aber wichtig ist, hol ich das nach

Verfasst: 3. März 2009 17:05
von FaS
Auch rückgängig machen der Änderungen haben das Problem nicht gelöst
- make clean
- makefiles neu bauen

Verfasst: 3. März 2009 17:31
von Christian81
Es fehlt ein ';' am Ende der MainWindow-Klassendeklaration (bzw. der Klassen dessen Header als letztes in der cpp inkludiert wurde). Zumindest ist dies meist der Fall bei solchen komplett sinnlosen Fehlermeldungen.

Verfasst: 3. März 2009 18:30
von CodeMonkey
Danke für die schnellen Antworten

Das Problem war tatsächlich eine fehlendes { am Ende der modifizierten Datei (also nicht der Datei, in der der Compilerfehler auftrat). Da sucht man ja ewig, wenn man nicht weiß, dass auch irgendwo anders was fehlen kann