Misalkan kita memiliki yang enum
seperti berikut:
enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday};
Saya ingin membuat instance dari ini enum
dan menginisialisasi dengan nilai yang tepat, jadi saya lakukan:
Days day = Days.Saturday;
Sekarang saya ingin memeriksa variabel atau instance saya dengan enum
nilai yang ada , jadi saya lakukan:
if (day == Days.Saturday)
{
std::cout << "Ok its Saturday";
}
Yang memberi saya kesalahan kompilasi:
galat: ekspresi primer yang diharapkan sebelum '.' token
Jadi untuk menjadi jelas, apa perbedaan antara mengatakan:
if (day == Days.Saturday) // Causes compilation error
dan
if (day == Saturday)
?
Apa yang sebenarnya dimaksud oleh kedua hal ini, di mana yang OK dan yang satu menyebabkan kesalahan kompilasi?