enum
-
ist es möglich ein enum in c++ auch mit strings zu belegen?
enum egal
{
lieblingsgericht = "pizza",
lieblingsfarbe = "rot",
lieblingsstadt = "berlin"
};?? bekomme immer:
expected constant expression
-
Nein, das ist nicht erlaubt. Du könntest aber Operatoren überladen, welche eine implizite Konvertierung in Strings erlaubt.
-
Warum willst du dafür unbedingt nen enum?
Nimm doch nen struct :). Das ist per default public.#include <string> using namespace std; struct Values { const string lieblingsgericht = "pizza"; const string lieblingsfarbe = "rot"; const string lieblingsstadt = "berlin"; };(Ohne static nur in C++11 erlaubt, kompilieren mit g++ -std=c++11)
-
Scorcher24 schrieb:
struct Values { const char* lieblingsgericht = "pizza"; const char* lieblingsfarbe = "rot"; const char* lieblingsstadt = "berlin"; };FIFY.
Denkbar wäre auch einfach ein eigener namespace.