Code: Alles auswählen
enum class ZombieState {IDLE, WALK_AROUND};
ZombieState state;
switch(state)
{
case ZombieState::IDLE: // geht
break;
case WALK_AROUND: // geht nicht :(
break;
}
Irgendwo geht für mich da der ganze Sinn des enums verloren, wenn ich immer den vollen Namen angeben muss. Da kann ich ja auch gleich globale Konstanten verwenden und mir die Doppelpunkte sparen. Die Idee sollte doch sein (wie bei namespaces und Klassen), das man jeweils nur so spezifisch sein muss, wie gerade nötig.
Also, mache ich hier einfach etwas falsch, oder ist C++ an dieser Stelle tatsächlich so doof? Und wenn ja, gibt es dafür einen vernünftigen Grund?