Sdílet prostřednictvím


direktiva #undef (C/C++)

Odebere (zruší definici) název dříve vytvořený pomocí direktivy #define.

Syntaxe

identifikátor #undef

Poznámky

Direktiva #undef odebere aktuální definici identifikátoru. V důsledku toho jsou následné výskyty identifikátoru preprocesorem ignorovány. Pokud chcete odebrat definici makra pomocí #undef, dejte jenom identifikátor makra, nikoli seznam parametrů.

Direktivu #undef můžete použít také na identifikátor, který nemá žádnou předchozí definici. Tím je zajištěno, že tento identifikátor není definován. V rámci příkazů #undef se neprovádí nahrazení makra.

Direktiva #undef je obvykle spárována se direktivou #define pro vytvoření oblasti ve zdrojovém programu, ve které má identifikátor zvláštní význam. Určitá funkce zdrojového programu například může použít konstanty manifestu pro definování hodnot specifických pro prostředí, které nemají vliv na zbytek programu. Direktiva #undef také pracuje s direktivou #if pro řízení podmíněné kompilace zdrojového programu. Další informace naleznete v tématu #if, #elif, #else a direktivy #endif.

V následujícím příkladu direktiva #undef odebere definice symbolické konstanty a makra. Je uveden pouze identifikátor makra.

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

Specifické pro Microsoft

Makra můžou být nedefinovaná z příkazového /U řádku pomocí možnosti a názvy maker, které se mají nedefinovat. Účinek vydání tohoto příkazu je ekvivalentní sekvenci #undefpříkazů pro název makra na začátku souboru.

END Microsoft Specific

Viz také

Direktivy preprocesoru