Припустимо, у нас є enum
таке:
enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday};
Я хочу створити екземпляр цього enum
і ініціалізувати його з належним значенням, тому роблю:
Days day = Days.Saturday;
Тепер я хочу перевірити свою змінну або екземпляр на існуючому enum
значенні, так що:
if (day == Days.Saturday)
{
std::cout << "Ok its Saturday";
}
Що дає мені помилку компіляції:
помилка: очікуваний первинний вираз до '.' лексема
Тож щоб було зрозуміло, у чому різниця між висловом:
if (day == Days.Saturday) // Causes compilation error
і
if (day == Saturday)
?
На що насправді посилаються ці двоє, якщо це нормально, а одна викликає помилку компіляції?