Ich versuche, die (char) enum
zu verwenden, um meine Ränge zu speichern und sie dann mit cout auszugeben, aber es geht nicht richtig aus.Falsche Werte ausgegeben von Enum
#include <iostream>
using namespace std;
enum rank : char {
first = '1', second = '2', third = '3'
};
int main()
{
// other code ...
cout << rank::third;
// other code ...
}
Es gibt 51
aus !!! hier - (?) http://ideone.com/8vHzQ5
Das sieht aus wie ascii Werte so sollte ich caste sie zurück zu verkohlen oder eine andere Art (warum muss ich so tun, wenn ich bereits char
gegen diese Enum geschrieben habe), sonst was ist hier falsch?
Ja, werfen Sie es zurück auf 'char'. 'Enum'-Werte sind im Grunde' int'. Das gleiche wie 'int n =' 1 '; std :: cout << n; ' –
Sie können auch eine Überladung für' std :: ostream & operator << 'erstellen, wie im Beispiel unten auf der Referenzseite zu sehen: http://en.cppreference.com/w/cpp/Sprache/enum – UnholySheep