- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 8 von 8

Thema: Sprungbefehl klapppt nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    Zitat Zitat von fredyxx Beitrag anzeigen
    Ja, danke das klappt. Sehr merkwürdig. Wie soll man so was raus kriegen.
    Gut dass es das Forum gibt.

    vG
    fredyxx
    ich bin auch nicht sofort drauf gekommen.
    Deine Fehlermeldung musste ich mir noch mal auf der Zunge zergehen lassen:
    expected primary-expression before '}' token
    er vermisst also einen Befehl oder Ausdruck ("primary expression") vor dem '}' Bezeichner/Zeichen ("Token") .

    also habe ich einfach mal einen ganz simplen "echten" Code geschrieben, keine Umschreibungen wie Block A etc, und kompiliert (s.o.) - und siehe da, wenn man ihm nach der Sprungmarke noch den simpelst möglichen Befehl oder Ausdruck gibt, dann geht's!


    Und tatsächlich:
    schaut man in der Sprachdefinition nach, dann steht da:

    Syntax
    goto label ;
    label : statement

    Notes

    Because declarations are not statements, a label before a declaration must use a null statement (a semicolon immediately after the colon).
    Same applies to a label before the end of a block.

    C++ imposes additional limitations on the goto statement, but allows labels before declarations (which are statements in C++)

    (http://en.cppreference.com/w/c/language/goto)
    also muss nach der Sprungmarke erst noch ein statement folgen, bevor die "Klammer-Zu" vom Block-Ende kommen darf, ganz egal ob C oder C++, und statements enden immer mit einem ";", und das einfachste denkbare statement ist nur ein ";" (ein sog. null-statement).

    Abschließend betrachtet war es wichtig, einfach mal das Problem an einem möglichst einfachen Beispiel durchzuspielen, nicht am komplizierten Projekt-Code, und auf keinen Fall mit Pseudo-Umschreibungen als Platzhalter.


    PS,
    insb. @ Klebwax und morob:
    Die Arduino-loop() hat bestimmte Eigenheiten, die besondere Programmiertechniken erfordern, indes ist ein goto auch sonst immer noch völlig legaler C- und C++ -Code, auch wenn es manchen Leuten geschmacklich nicht passt. Darum führen solche Einwürfe wie eure generell nicht weiter - denn wie heißt es so schön:
    de gustibus non est disputandum.
    Geändert von HaWe (10.10.2017 um 13:07 Uhr) Grund: typo

Ähnliche Themen

  1. NIBObee lässt sich nicht in Betrieb nehmen, weil Upload nicht funktioniert
    Von Robo Newbie im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 3
    Letzter Beitrag: 31.08.2015, 12:00
  2. Code läuft nicht feherfrei, bitte um Hilfe! Input Capture und UART nicht gleichzeitig
    Von Accenter im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 14
    Letzter Beitrag: 04.06.2013, 20:00
  3. Antworten: 6
    Letzter Beitrag: 29.08.2011, 17:17
  4. Antworten: 5
    Letzter Beitrag: 08.10.2008, 13:30
  5. Antworten: 25
    Letzter Beitrag: 21.08.2008, 22:33

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test