C2143 bei enumeration
-
ya sorry... hab auch grad erst gesehn dass i im vcl board poste. könnten die moderator es vielleicht verschieben..?
und wie sollte i dieses Problem lösen..? diese enum-liste löschen..?
A-jage
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL (C++ Builder) in das Forum MFC (Visual C++) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ok... habe festgestellt dass jeder identifier bereits in wingdi.h definiert ist...
Was soll i nun machen..? Soll i die enum liste löschen oder...?
A-jage
-
Wenn diese defines aus der WINAPI kommen dann würde ich Sie in keinem Fall neu definieren.
-
Ok, das heißt die enum liste löschen..(?)
A-jage
-
Die enums klein schreiben. Das Problem hatte ich damals auch schon und seit dem schreibe ich Konstanten und Enums klein. Denn dummerweise werden schon Makros komplett groß geschrieben. Und Makros are Evil und das wird hier mal wieder deutlich.
enum CharacterSet { ansi_charset = 0x00, default_charset = 0x01, symbol_charset = 0x02, ... };
-
Ist eh IMO etwas sinnlos da nochmal charset hinter zu setzen, da durch
enum characterset { ansi = 0x00, normal = 0x01, symbol = 0x02, mac = 0x4d, shiftjis = 0x80, hangeul = 0x81, johab = 0x82, gb2312 = 0x86, chinesebig5 = 0x88, greek = 0xa1, turkish = 0xa2, vietnamese = 0xa3, hebrew = 0xb1, arabic = 0xb2, baltic = 0xba, russian = 0xcc, thai = 0xde, easteuropte = 0xee, oem = 0xff };und dann characterset::greek ja schon deutlich wird, das es ein charset ist, und zwar greek.
-
Hab ich auch gedacht, aber dummerweise ist characterset::greek laut MSVC2005-Warning nicht standardkonform... auch wenn er es noch durchlässt. Wobei ich bei mir auch _charset weg gelassen hätte.

-
Und warum definierst Du die alle nochmal wenn sie bereits in der WINAPI drin sind?
-
Also, _i_ hab sie nicht neu definiert.
So stand es in libmsn gecodet...Aber i könnte doch - an Artchi - das, was bereits definiert wurde, und wo gleich sind auch löschen oder..?
A-jage