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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.