Freigeben über


#undef Direktive (C/C++)

Entfernt (Definition) hebt einen Namen zu, der zuvor mit #defineerstellt wird.

#undef identifier

Hinweise

Die #undef-Direktiven entfernen die aktuelle Definition eines Bezeichners.Daher werden nächste Vorkommen des Bezeichners vom Präprozessor ignoriert.Um eine Makrodefinition mit #undefzu entfernen, geben Sie nur die Makrokennzeichnung . Geben Sie keine Parameterliste.

Sie können die #undef-Direktive für einen Bezeichner zuweisen, der auch keine vorherige Definition verfügt.Dadurch wird sichergestellt, dass der Bezeichner nicht definiert ist.Makro Ersetzung wird nicht in #undef-Anweisungen ausgeführt.

Die #undef-Direktive wird normalerweise mit #define-Direktive zugeordnet, um einen Bereich in einem Quellprogramm zu erstellen, in dem ein Bezeichner eine besondere Bedeutung hat.Beispielsweise kann eine bestimmte Funktion des Quellprogramms Manifeste Konstanten verwenden, um Umgebung bestimmte Werte zu definieren, die nicht den Rest des Programms auswirken.Die #undef-Direktive funktionieren auch mit den #if-Direktive, um die bedingte Kompilierung des Quellprogramms zu steuern.Weitere Informationen finden Sie unter Das #if, das #elif, das #else und #endif Direktive .

Im folgenden Beispiel #undef-Direktiven entfernt die eine symbolische Konstante und Definitionen des Makros.Beachten Sie, dass nur der Bezeichner des Makros angegeben ist.

#define WIDTH 80
#define ADD( X, Y ) ((X) + (Y))
.
.
.
#undef WIDTH
#undef ADD

Microsoft-spezifisch

Makros können von der Befehlszeile mit der Option /U- nicht angegeben werden, gefolgt von den wurde nicht definiert werden Makronamen.Die Auswirkung des Ausgebens dieses Befehls ist eine Folge von Anweisungen #undef Makro NAME am Anfang der Datei.

Microsoft ENDES bestimmten

Siehe auch

Referenz

Präprozessordirektiven