Kann enum rückwärts laufen?
-
Gibt es eine Möglichkeit, daß die enum-Aufzählungskonstanten rückwärts laufen? Daß ich also folgendes realisieren kann:
enum ENUM_TYP {A=-1, B, C};und daß B -2 und C -3 ist? Oder
enum ENUM_TYP {A=UINT_MAX, B, C};daß er da eben auch runterzählt?
-
nö, da wird nur aufwärts gezählt. Du kannst entweder
enum foo { FOO_A = -1, FOO_B = -2, FOO_C = -3 };oder
enum bar { BAR_C = -3, BAR_B, BAR_A };machen.
Greetz, Swordfish
-
Ein Pseudo-Runterzählen könnte man z.B. so implementieren:
enum ENUM_TYP {A=-1, B=A-1, C=B-1};
-
Jö, da kannsr ja gleich direkt runterzählen

Greetz, Swordfish
-
oder sowas:
enum X { A, B, C, D, E, LAST_X }; #define REVERSE_ENUM(n) (LAST_X-n-1)REVERSE_ENUM(A) ist dann 4, B == 3 usw. bis E == 0
-
O.k., danke für die Beiträge.