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 #undef
příkazů pro název makra na začátku souboru.
END Microsoft Specific