Aufzählungen in C++ ein großes Problem haben:Wie vermeidet man Namenskonflikte für zwei Enum-Werte mit demselben Namen in C++?
enum Browser
{
None = 0,
Chrome = 1,
Firefox = 2
}
enum OS
{
None = 0,
XP = 1,
Windows7 = 2
}
Also, was ist der beste Weg, um dieses Problem in diesem Beispiel zu handhaben: Sie nicht einen Namen in zwei verschiedenen Aufzählungen wie diese haben können?
Wenn die Enumeration spezifisch für eine Klasse ist, platzieren Sie sie in einem (öffentlichen Abschnitt der) Klasse, dann beziehen Sie sich auf die Elemente z. ClassName :: None und OtherClassName :: None. Sie können stattdessen auch die Enums in Namespaces einfügen. Der typische Weg, sie in reinem C zu benennen, ist über Präfixe zu jedem aufgezählten Identifizierer. – pmdj
Meine Frage http://stackoverflow.com/questions/12972317/count-on-enum-c-automatic beantwortet Ihre Frage. – sergiol
Enum-Klassen in C++ 11 scheinen ein guter Versuch zu sein. Aber Sie müssen es nach dem Anwenden von '| – bytecode77