AVRS5: uint8_t initialisieren nach case (Bug?)

Gast #2410273
Lesenswert?

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.
Angehängte Dateien:
Moderator Persönliche Seite #2410390
Lesenswert?

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).
Gast #2411441
Lesenswert?

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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren