Anbei ein Screenshot aus der AVR Studio 5 IDE. Mir ist jetzt schon mehrmals aufgefallen, dass der Compiler einen Fehler wirft, wenn man nach einer case-Auswertung eine Variable initialisieren möchte. Ist das vielleicht ein Bug, oder bin ich schlecht informiert? Ausweg: Semikolon vor Initialisierung einfügen.
Oh, ich sehe gerade, dass der Compiler mein Workaround missversteht. Also nicht nachmachen.
Daniel schrieb: > Ist das > vielleicht ein Bug, oder bin ich schlecht informiert? Ist ein Syntax-Fehler. Und die Fehlermeldung ist genau zutreffend. Ein Label muss vor einem Statement stehen, und eine Deklaration zählt nicht als Statement. Daniel schrieb: > Oh, ich sehe gerade, dass der Compiler mein Workaround missversteht. So? Inwiefern?
Mach nen Block in den Case dann klappts auch mit dem Nachba^W^Hr Variable. HTH
AFAIK reicht es auch den Compiler-Standard "hochzusetzen". Gnu99 z.B.
Simon K. schrieb: > AFAIK reicht es auch den Compiler-Standard "hochzusetzen". Gnu99 z.B. Nein. Die Antwort stand schon oben: ein label gehört vor ein statement. Eine Deklaration oder Definition jedoch ist kein statement. Ein neuer Block jedoch wäre eins, und am Anfang eines Blocks sind Deklarationen und Definitionen immer zulässig (deren Gültigkeitsbereich dann der Block selbst ist).
Stefan Ernst schrieb: > Daniel schrieb: >> Oh, ich sehe gerade, dass der Compiler mein Workaround missversteht. > > So? Inwiefern? Er färbt das Label blau ;-) Es ist natürlich mehr Intellisense als der Compiler, aber ich dachte mir, dass eine andere Farbe nicht gesund sein kann. Danke für die Antworten. Ich muss in der Praxis immer wieder feststellen, dass die Vorlesungen in der Hochschule noch lange keinen Könner machen...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
