Supponiamo di avere un enum
simile:
enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday};
Voglio creare un'istanza di questo enum
e inizializzarlo con un valore corretto, quindi faccio:
Days day = Days.Saturday;
Ora voglio controllare la mia variabile o istanza con un enum
valore esistente , quindi faccio:
if (day == Days.Saturday)
{
std::cout << "Ok its Saturday";
}
Il che mi dà un errore di compilazione:
errore: espressione primaria prevista prima di "." gettone
Per essere chiari, qual è la differenza tra dire:
if (day == Days.Saturday) // Causes compilation error
e
if (day == Saturday)
?
A cosa si riferiscono effettivamente questi due, in quanto uno è OK e uno causa un errore di compilazione?