PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehlermeldung bei "else" ist mir unverständlich



fredyxx
03.10.2017, 13:16
Hallo,

bei diesem Ausschnitt aus einem umfangreichen Programm erhalte ich die Fehlermeldung:

"expected ';' before '{' token" und die Zeile mit else ist markiert.



if (M5_Start == true) {

Serial1.println("M5_vo");
M5_Start = false;
M5_fertig = false;
LKW_Timer1 = millis();

} // ************* ENDE if (M5_Start == true)


else (((millis() - LKW_Timer1) > 2000) && (M5_Start == false) && (M5_fertig == false) ) {

Serial1.println("M5_ST");
M5_fertig = true;

} // ************* ENDE else ((millis() .....)




Wenn ich else durch if ersetze, erfolgt das Kommpilieren ohne Fehler. Ich habe getestet, dass die sichtbaren geschweiften Klammern zusammen gehören.

Wo ist da der Fehler??

vG

fredyxx

HaWe
03.10.2017, 13:42
Hallo,

Wo ist da der Fehler??

vG

fredyxx

vielleicht

else if (.........



Schema:


if(Bedingung1) {body1;}
else
if(Bedingung2) {body2;}
else
{body3;}

fredyxx
03.10.2017, 14:39
Hallo,

els if klappt auch.

Aber mich würde schon interessieren wie so else alleine nicht klappt.
Bei den Arduino Befehlen steht:

if (pinFiveInput < 500)
{
// action A
}
else
{
// action B
}

Das ist doch nichts anderes als ich gemacht habe. Außerdem habe ich das schon öfter so verwendet:

vG

fredyxx

HaWe
03.10.2017, 14:51
Hallo,

els if klappt auch.

Aber mich würde schon interessieren wie so else alleine nicht klappt.
Bei den Arduino Befehlen steht:

if (pinFiveInput < 500)
{
// action A
}
else
{
// action B
}

Das ist doch nichts anderes als ich gemacht habe. Außerdem habe ich das schon öfter so verwendet:

vG

fredyxx

was funktioniert an else if() "auch" ? (edit, jetzt scheint es ja doch zu funktionieren?)
Außerdem hast du sehr wohl etwas anderes gemacht:

bei dir steht im Ursprungs-Code hinter else direkt eine Bedingung (((millis() - LKW_Timer1) > 2000) && (M5_Start == false) && (M5_fertig == false) )
das darf aber nicht sein!
else hat kein (!) Bedingungs-Statement!
Wenn du eine neue Bedingung setzt, dann muss ein weiteres if() folgen mit einem eigenen Bedingungs-Statement!

Also überprüfe noch mal bitte deine Klammersetzung, dann lies nochmal meine Beschreibung und deine Bedingungen genau durch, und wenn dann alles stimmt, dann funktioniert es auch!

fredyxx
03.10.2017, 14:52
Danke,

verstanden!!

vG

fredyxx