Größter Wert einer Enumeration ermitteln
-
Hallo,
wie kann man ermitteln, was der gröte Wert einer Enumeration ist?enum FOO { VAL1 = 0, VAL2, VAL3, VAL4, //... VALX };
-
enum FOO { VAL1 = 0, VAL2, VAL3, VAL4, //... VALX, FOO_COUNT // Größter Wert };
-
gar nicht. du kannst dir höchstens ein element ans ende setzen, welches dann die anzahl der werte enthält. das geht natürlich nur, wenn du die werte deiner enum lückenlos von 0 bis n laufen lässt.
-
schade...
trotzdem danke
-
Sonst müsstest du dir selbst etwas basteln. Zum Beispiel eine Klasse, die Integers in einem Container speichert (evtl. mit
std::map, je nach Anwendung). Dann bist du flexibler, allerdings sind die Werte halt nicht mehr zur Compilezeit bekannt.Vielleicht liesse sich da auch etwas mit Templates (Metaprogrammierung) machen, aber da wüsste ich jetzt nicht gerade etwas.