zapytanie o enum

0

cześć, natknąłem się na taki kod:

enum
{
    FULL_WINDOW, // obszar renderingu - całe okno
    ASPECT_1_1, // obszar renderingu - aspekt 1:1
    EXIT // wyjście
};

// aspekt obrazu

int Aspect = FULL_WINDOW 

i nie bardzo rozumiem co tu zachodzi. zawsze po słowie kluczowym enum stawiało się typ, i owym typem deklarowało się zmienne, a tutaj niedość, że typu nie ma, to deklaruje się to zwykłym intem.

0

Przykład użycia:
http://www.relisoft.com/book/tech/2hiding.html w sekcji Hiding Constants in Enumerations

0

W tym przypadku nie ma mowy o deklarowaniu nowego typu. Ten anonimowy enum traktuje się po prostu jak skojarzenie wartości liczbowych z konkretnymi nazwami.

0

Może też służyć do weryfikacji, że nie powtórzyliśmy wartości:

enum
{
    FULL_WINDOW = 1, // obszar renderingu - całe okno
    ASPECT_1_1 = 2, // obszar renderingu - aspekt 1:1
    EXIT = 3 // wyjście
};

Gdyby EXIT było = 2 to prawdopodobnie byłby błąd - do sprawdzenia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1