nicht inkrementieren?
Ich muss state_Datensatz immer neu zuweisen statt state_Datensatz++.
Hinter enum steckt doch auch nur eine Ziffernfolge 0, 1 und 2 wenn man sich das ausgeben lässt.
Compilermeldung vom inkrementieren lautet:
exit status 1
no match for 'operator++' (operand type is 'sDaten')
enums müssen nicht kontinuierlich sein, man kann ja sowas haben
enum Ding
{
Eins,
Zwei = 18,
Drei
}
Deshalb sind arithmetische Operationen darauf standardmässig nicht erlaubt. In C++ wäre der Weg wohl normalerweise eine Klasse mit entsprechenden Operatoren.
Übrigens ist "typedef enum" eigentlich C, Arduino sollte ja C++ sein.
aha, dann lasse ich das addieren mal lieber sein. Denn obwohl man getrennte enum definiert, kann man auch nicht doppelte Aufzählungen/Konstanten verwenden. In dem Bsp. ist "STOP" doppelt vorhanden. Ist verboten.
C enums sind frei in Integer konvertierbar (sonst ginge switch/case nicht!). Und genau das wird bei der Addition gemacht. Aber dann braucht man einen Cast damit es wieder ein enum ist
Habe ich auch schon gemacht. Aber wie gesagt ist das nicht sauber. enums sind zwar im Hintergrund Integer, aber von der Bedeutung her sollen es eben keine Zahlen sein
Danke auch dir. Alle Machbarkeiten werden sehr umständlich bzw. aufwändiger. Da bleibe ich dann doch lieber bei der "Textform" und weise neu zu. Bleibt für später einfacher lesbar. Finde lesbaren Code wichtiger.