Sowas wie #ifdef auch für Konstanten?

Hi,
Ich habe eine Frage zu #ifdef. Ich arbeite an einer grossen Software, in der manchmal Teile hinzugefügt werden müssen, bevor zugehörige Teile in anderen Dateien verfügbar sind. Bei Defines funktioniert das recht gut: Ich füge dann einfach ein
#ifdef NEUES_DEFINE
#pragma message („Define is available“)
#else
#define NEUES_DEFINE Standardewert
#endif

Damit wird das Define so lange auf einen Standardwert gemappt, bis jemand die Änderungen an den anderen Teilen hinzugefügt hat. Dann wird automatisch das neue Define genutzt und mir beim compile eine Meldung ausgegeben, dass ich den Workaround-Kram löschen kann.

Jetzt habe ich aber folgendes Problem:
Es handelt sich diesmal um zwei Konstanten in einem ENUM. Da aber ifdef nur Defines beachtet und keine Konstanten/Enumwerte, ist das ifdef immer False und somit wird das Ding doppelt definiert.

Gibt es eine Möglichkeit, das die oben beschriebene Lösung auf für Konstanten anzuwenden?

Ralph

Hallo Ralph!

Jetzt habe ich aber folgendes Problem:
Es handelt sich diesmal um zwei Konstanten in einem ENUM. Da
aber ifdef nur Defines beachtet und keine
Konstanten/Enumwerte, ist das ifdef immer False und somit wird
das Ding doppelt definiert.

Gibt es eine Möglichkeit, das die oben beschriebene Lösung auf
für Konstanten anzuwenden?

Soweit mir bekannt nicht, und ich halte das auch für ausgeschlossen, weil das Präprozessor-Direktiven sind, und der kann nun mal keine Dinge auswerten, von denen er keine Ahnung hat (wie enums). Ich persönlich verwende im Programmcode nach Möglichkeit keine #define’s, static const int u.ä. können das Gleiche und sind nebenbei auch noch typsicher. Einzige Ausnahme: Genau das wofür du sie auch verwendest.

Liebe Grüße
Martin