Klotzkopp Geschrieben 8. Juli 2005 Geschrieben 8. Juli 2005 da geht es doch garnicht mit '#ifndef' oder irre ich mich jetzt total. Nein, du irrst dich nicht. Das geht tatsächlich nicht mit #ifdef/#ifndef. Mein Fehler. Zitieren
TDM Geschrieben 8. Juli 2005 Autor Geschrieben 8. Juli 2005 #ifndef MAKRO1 && MAKRO2 ? wie kann man eigentlich Makros auf einen Text Prüfen ? #if MAKRO1 = "Text1" geht nicht :/ Zitieren
Klotzkopp Geschrieben 8. Juli 2005 Geschrieben 8. Juli 2005 #ifndef MAKRO1 && MAKRO2 ?Das wird nicht funktionieren. Nach #ifdef/#ifndef darf nur ein einzelner Bezeichner stehen. wie kann man eigentlich Makros auf einen Text Prüfen ?Gar nicht. Die Ausdrücke für diese Präprozessordirektiven dürfen nur Ganzzahlen und (Einzel-)Zeichenkonstanten beinhalten. Abgesehen davon müsstest du == benutzen. Zitieren
TDM Geschrieben 8. Juli 2005 Autor Geschrieben 8. Juli 2005 Würde das nicht gehen ? #define TXT "Text" #define MAKRO "Text" #if MAKRO = TXT Zitieren
Klotzkopp Geschrieben 8. Juli 2005 Geschrieben 8. Juli 2005 Die Ausdrücke für diese Präprozessordirektiven dürfen nur Ganzzahlen und (Einzel-)Zeichenkonstanten beinhalten. Abgesehen davon müsstest du == benutzen.War daran irgendwas unklar? Zitieren
TDM Geschrieben 8. Juli 2005 Autor Geschrieben 8. Juli 2005 ok... das heißt nein *g* nächste frage: ich hab in der stdflifo.h folgende zeilen: #define VL_MODE_DEFAULT 0 #ifndef VL_MODE #define VL_MODE VL_MODE_DEFAULT #endif in der .cpp hab ich: #define VL_MODE 1 Wieso bekomm ich eine Warnung mit Makro-Neudefinition ? Wird denn zu erst die .h und dann die cpp kompiliert ? O.o Zitieren
Klotzkopp Geschrieben 8. Juli 2005 Geschrieben 8. Juli 2005 Headerdateien werden gar nicht kompiliert. Der Inhalt einer Headerdatei wird genau da in die .cpp-Datei hineinkopiert, wo die #include-Direktive steht, bevor die .cpp-Datei kompiliert wird. Ob das also eine (berechtigte) Fehlermeldung wegen Makro-Neudefinition erzeugt, hängt davon ab, ob dein #define vor oder nach der #include-Direktive steht. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.