static_cast für enums
-
Hallo!
Wie kann ich den static_cast für enums überladen? AFAIK sollte das doch so gehen, wenn ich das enum enumName in einen String konvertieren möchte:
enumName::operator std::string() const{ }Mein GCC schluckt das aber nicht, sondern sagt:
error: expected operator before 'std'.
-
enums sind keine Klassen und haben keine Member, also auch keine Konvertierungsoperatoren. Die einzige Möglichkeit, für sie zusätzle implizite Konvertierungen einzubauen, besteht in einem entsprechenden Konstruktor der Zielklasse. Auf std::string hast du nat. keinen Zugriff, das geht also nicht. Damit bleibt dir nur der Umweg über eine ganz normale benannte Funktion.