000
13.02.2005, 23:55 Uhr
virtual
Sexiest Bit alive (Operator)
|
Hallo, angenommen, ich habe einen C source mit drei Defines, deren exakten Wert ich nicht kenne (und der auch potentiell auf verschiedenen Systemen unterschiedlich sein kann):
C++: |
#define A ??? #define B ??? #define C ???
|
Ich weiss lediglich, dass A!=B, B!=C und A!=C gilt. Nun möchte ich ein enum bauen, der Form:
C++: |
enum mapped { EA = A, EB = B, EC = C, ED = ??? };
|
Gibt es einen Weg, ED so zu wählen, dass der Wert nachher garantiert von EA, EB und EC verschieden ist. So triviale "Lösungen" wie
C++: |
ED = EA + EB + EC ED = EA|EB|EC
|
gehen nicht, denn zB bei EA=-1, EB=0, EC=1 ist ED=EA+EB+EC=0==EB EA=1,EB=2,EC=3 ist ED=EA|EB|EC=3==EC
Ich bin fast Der Meinung, daß das nicht geht. Weiß jemand Rat? -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |