Załóżmy, że mamy enum
podobne:
enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday};
Chcę utworzyć instancję tego enum
i zainicjować ją z odpowiednią wartością, więc:
Days day = Days.Saturday;
Teraz chcę sprawdzić moją zmienną lub instancję z istniejącą enum
wartością, więc:
if (day == Days.Saturday)
{
std::cout << "Ok its Saturday";
}
Co daje mi błąd kompilacji:
błąd: oczekiwane wyrażenie podstawowe przed „.” znak
Żeby było jasne, jaka jest różnica między powiedzeniem:
if (day == Days.Saturday) // Causes compilation error
i
if (day == Saturday)
?
Co tak naprawdę odnoszą się do tych dwóch, że jest OK, a drugi powoduje błąd kompilacji?