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.
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 :/
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.
TDM Geschrieben 8. Juli 2005 Autor Geschrieben 8. Juli 2005 Würde das nicht gehen ? #define TXT "Text" #define MAKRO "Text" #if MAKRO = TXT
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?
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
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden