Gå til innhold

[Løst] Enum - Qualified name


Anbefalte innlegg

Fra C# er jeg vandt til å referere til enumer ved des navn.

 

enum foo { bar };

 

og refererer til bar som foo.bar.

 

Om jeg gjør dette i C++ får jeg en compiler advarsel.

 

Det jeg vil spørre om da er, støtter gcc å referere til foo.bar, slik VS gjør?

 

Eller vil det nekte å compile i det hele tatt?

 

 

Blir fort rotete dersom ting beveger seg utenfor scopet jeg vil ha det i :p

Endret av ze5400
Lenke til kommentar
Videoannonse
Annonse

Det vanlige i C++ er vel å refere direkete til bar.

 

 

Du kan riktignok lure den ved å bruke en struct - men jeg vet ikke om dette er god kode.

#include <iostream>

struct foostruct { enum { en, to ,tre ,fire }; } foo;

int main() {
int a = foo.en;
int b = foo.tre;
std::cout << a << b;
}

 

Edit: nå vil man vel ikke vanligvis skrive ut enum'er heller, men det var en del av debug'ingen min.

Endret av Kagee
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...