Forum: Compiler & IDEs expected ';' before.


von torsten (Gast)


Lesenswert?

Hallo.

Ich binde in meine Haupt .cpp mehrere headerfiles ein, in einem ist eine 
Klasse, von der ich mir ein Objekt erstelle. Das klappt aber nur, wenn 
ein anderer header niht mit eingeschlossen wird, weil sonst die 
Fhlermeldung:
"expected ';' before bezeichner" kommt.
Scheint erstmal so, als hätte ich in diesem header irgendwo ein 
Semikolon, eine geschweifte Klammer o.ä. vergessen, oder?
Ich hab den jetzt schon zum hundertsten mal durchgelesen und nichts 
dergleichen bemerkt, zumal ich das Problem kurze Zeit vorher schonmal 
hatte, die genauer Lösung aber schon wieder vergessen habe. Was heißt 
die Fehlermeldung ganz allgemein mit den gegebenen Informationen?
Semikolon vergessen? klammer vergessen? Werden doch noch mehr Infos 
gebraucht? :D

danke schonmal für geduldige Hilfe ;)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Fehlermeldung besagt, daß vor ihrem Auftreten ein Semikolon fehlt.

Und so ist das dann auch, das kann allerdings auch gut versteckt sein, 
indem beispielsweise ein Macro kein Semikolon enthält, das eines 
enthalten sollte, oder ähnliches.

Ohne Deinen Code zu sehen, kann man mehr nicht dazu sagen.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

torsten schrieb:
> Hallo.
>
> Ich binde in meine Haupt .cpp mehrere headerfiles ein, in einem ist eine
> Klasse, von der ich mir ein Objekt erstelle. Das klappt aber nur, wenn
> ein anderer header niht mit eingeschlossen wird, weil sonst die
> Fhlermeldung:
> "expected ';' before bezeichner" kommt.
> Scheint erstmal so, als hätte ich in diesem header irgendwo ein
> Semikolon, eine geschweifte Klammer o.ä. vergessen, oder?

Möglicherweise auch ein fehlendes Typedef, z.B. uint8_t.

> Ich hab den jetzt schon zum hundertsten mal durchgelesen und nichts
> dergleichen bemerkt, zumal ich das Problem kurze Zeit vorher schonmal

Schau die das Präcompilat an, z.B. das mit -save-temps -g3 erzeugte 
ii-File.  Wenn du nicht die Fehlermeldung nicht an der Stelle des 
ursprünglichen C*-Files willst, sondern and der Stelle des ii-Files, 
dann zusätzlich -P angeben.

von torsten (Gast)


Lesenswert?

Ok, ich hab den Übeltäter gefunden:
alles auskommentiert, bis nur noch ein enum, dessen einer Wert genau so 
hieß, wie eine Klasse war übrig blieb :D

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.