enumerazioni in C++ hanno un grosso problema: non è possibile avere un nome in due enumerazioni differenti come questo:Come evitare conflitti di nomi per due valori di enumerazione con lo stesso nome in C++?
enum Browser
{
None = 0,
Chrome = 1,
Firefox = 2
}
enum OS
{
None = 0,
XP = 1,
Windows7 = 2
}
Allora, qual è il modo migliore per gestire questo problema in questo esempio?
Se l'enum è specifico di una classe, inserirlo in una (sezione pubblica della classe), quindi fare riferimento agli elementi ad es. ClassName :: None e OtherClassName :: None. Puoi anche inserire le enumerazioni in spazi dei nomi. Il modo tipico di namespace in C pura è tramite prefissi per ciascun identificatore enumerato. – pmdj
La mia domanda http://stackoverflow.com/questions/12972317/count-on-enum-c-automatic risponde alla tua domanda. Le classi di enumerazione – sergiol
in C++ 11 sembrano essere un buon tentativo. Ma devi lanciarlo dopo aver applicato '|'. – bytecode77