Diskuze: C++ enum, struct, warning
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.


Ahoj. Od standardu C++11 je v C++ upřednostňován tzv. scoped enum. Ten se zapisuje takhle:
enum class ePohlavi {
pZena, pMuz
};
Osoba osoba = { "Lukas", "Novak", 35, ePohlavi::pMuz };
Jde o to, že bez toho klíčového slova class můžeš
kdekoliv programu použít právě pMuz a pZena (tj.
unscoped enum). V případě scoped enum je součástí jména právě i název
enumu, tedy ePohlavi::pMuz a tak není "globální" prostor jmen
tak zanesen.
V C++ se také již nepíše typedef, ale
struct Nazev popř. enum Nazev. Verze s
typedef je spíše pro čisté C. Pokud chápu kontext, tak
kompiluješ ve Visual Studiu, který vše kompiluje právě pod C++.
V každém případě se jedná pouze o Warning a ne o chybu, program bude
fungovat a ten warning je spíše takové upozornění od novějších
standardů C++. Pokud se učíš C, můžeš s tím pokračovat. Pokud C++, je
lepší to opravit a také opravit typedef.
Zobrazeno 3 zpráv z 3.