Error Message: expected ';' before ')' token
Ja…
Semikola statt Kommata im Kopf der For Schleife.
Außerdem kannst Du dir das erste light sparen, wenn du die Variable nicht im Schleifenkopf initialisierst, das Semikolon jedoch nicht.
Du kannst dir die ganze for- Schleife sparen,
ausser du willst 8 mal mit 100 ms Pause dasselbe undefinierte *) machen, damit die Zeit vergeht.
undefiniert *)
int ledC=0;
leds[ledC-1] = CRGB::Black; // beschreibt eine undefinierte Speicherstelle
Ich würde das nicht "undefiniert *)" nennen; sondern in die beiden Speicherstellen des RAMs vor dem für das Array reservierten Speicherbereich.
Egal wie man's nennt, es ist nie eine gute Idee und führt zu unerklährlichem und unvorhersagbaren Verhalten des Programms.
Grüße Uwe
Es gibt nur ganz selten die Notwendigkeit vor oder hinter einen definierten Speicherbereich zugreifen zu müssen, oder Zeiger dahin zu richten.
Aber es gibt sie.
Und ja!
Meistens ist eine Array Bereichsüberschreitung ein Fehler.
Ein übler Fehler. Weil schwer zu finden.
In C und C++ Sprech führt es in ein undefiniertes Verhalten.
Außer man weiß ganz genau warum man das tut.
Was ich bemerkenswert finde, dass sich intensiv mit dem Randgeschehen befasst wird, statt sich nur auf die Beantwortung der Frage zu beschränken.
Wenn so eine doch recuht einfache syntaktische Frage gestellt wird, muss man davon ausgehen, dass der Fragesteller noch nicht sehr viel Erfahrung mit der Programmiersprache hat. Warum also das spekulieren um der Rechtmäßigkeit des Array-Zugriffs? Um diese Fehler in ihrer Auswirkung verstehen zu können, braucht es mehr Erfahrung. Aber gut dass man aufgezeigt hat, dass man es vermeidlich besser drauf hat.
Lasst ihn seine Fehler machen und daraus lernen.
Wenn Du der Meinung bist, es wäre besser Neulinge etwas Falsches lernen zu lassen, solltest Du Dich schämen.
Gruß Tommy
Also gut:
Ja, jemand checkt diesen Error (Bild).
Komma statt Semikolon.
Da aber deutlich zu sehen ist, dass da noch mehr im Argen liegt, kommt noch mehr.
Wenn du das Randgeschehen nennst, und dich daran störst, Pech für dich.
Es dreht sich nicht um "Selbstpräsentation", sondern eher darum, Anfänger vor den selbst aufgestellten Messern zu schützen.
Und natürlich auch darum unzulässige Vereinfachungen/Dogmen aufzuweichen.
Die Randgeschehen sind oft interessanter/lehrreicher, als das Eingangsproblem.
So auch hier.
Vieleicht nimmst Du mal zur Kenntniss, dass Arduino ein Lernsystem ist und es keinen Anschpruch auf Perfektion oder gar Zuverlässigkeit hat.
Lernen bedeutet Fehler machen und es lernst sich am besten von eigenen Fehlern.
Hinweise sind gut, aber beim TO ging es um was anderes als array's. Die folgende Debatte ist in diesem Thread fehl am Platz. Neuen Thread aufmachen und dann könnt ihr dort nach Lust und laune, jedes Szenario durchdiskutieren.
Oder man ist so gefrustet, daß man es aufgibt.
Ich bin nicht Deiner Meinung und glaube nicht daß es richtig ist alle Fehler bzw vorhersehbare Fehler / Fehlerquellen für mich zu behalten.
Darum Sind Deine Beiträge nicht Zielführend um dem TO zu helfen.
Grüße Uwe
Du hast hier gar nichts zu bestimmen.
Und natürlich darfst du dich, mit deiner Hybris, nach belieben blamieren.
Auch kann der TO unsere Hilfen ausschlagen und von einem Fehler zum nächsten stolpern.
Das entscheider er.
Wir können und sollen nur einige Fallstricke aufzeigen.
Grüße Uwe
Natürlich ist Stabilität und Zuverlässigkeit ein gültiges Ziel eines jeden Entwicklers.
Auch in der Arduino Welt.
