Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » mehrere enum mit gleichen Variablen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.05.2009, 10:51 Uhr
~toem
Gast


Hallo,

ich benötige in einer Klasse verschiedene enum mit teilweise ähnlichen Werten. Diese lege ich wie folgt an:

...
private:
enum LimitProfitMode{NONE, LIMIT, PROFIT};
enum StopLossMode{NONE, STOP, LOSS};
...

Das Problem hierbei ist, das ich dann die Meldung erhalte das NONE bereits deklariert ist.

"error: conflicts with previous declaration `LimitProfitMode NONE'"

WArum ist das so und wie kann ich das umgehen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.05.2009, 14:56 Uhr
0xdeadbeef
Gott
(Operator)


Naja, NONE ist ja zweimal deklariert, woher soll der Compiler jetzt wissen, welches du meinst, wenn du NONE schreibst?

Du musst die Bezeichnier in irgendeiner Form eindeutig machen. Am einfachsten wohl etwa so:

C++:
enum LimitProfitMode{ LPM_NONE, LIMIT, PROFIT};
enum StopLossMode{ SLM_NONE, STOP, LOSS};


...ich würde auch in Erwägung ziehen, alle enum-Bezeichner auf die Art zu präfixen, gerade mit Bezeichnern wie STOP und LIMIT kann man leicht in andere Bibliotheken (evtl. sogar Makros) laufen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 26.05.2009 um 14:57 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: