#undef – direktiva (C++)
Odebere (zruší definici) název dříve vytvořený pomocí direktivy #define.
#undef identifier
Poznámky
Direktiva #undef odstraní stávající definici identifikátoru.V důsledku toho jsou další výskyty tohoto identifikátoru preprocesorem ignorovány.Chcete-li odebrat definici makra pomocí direktivy #undef, zadejte pouze identifikátor makra, nezadávejte seznam parametrů.
Lze také použít direktivu #undef pro identifikátor, který nemá žádnou předchozí definici.Tím je zajištěno, že tento identifikátor není definován.Nahrazení makra není v rámci příkazů #undef prováděno.
Direktiva #undef je obvykle spojená s direktivou #define, což vytvoří ve zdrojovém programu oblast, ve které má identifikátor zvláštní význam.Například, může určitá funkce zdrojového programu použít konstanty manifestu pro definování hodnot specifických pro prostředí, které nemají vliv na zbytek programu.Direktiva #undef také funguje s direktivou #if pro řízení podmíněné kompilace zdrojového programu.Další informace naleznete v tématu Direktivy #if, #elif, #else a #endif.
V následujícím příkladu direktiva #undef odebere definice symbolické konstanty a makra.Všimněte si, že je uveden pouze identifikátor makra.
#define WIDTH 80
#define ADD( X, Y ) ((X) + (Y))
.
.
.
#undef WIDTH
#undef ADD
Specifické pro Microsoft
Z příkazového řádku lze zrušit definici maker pomocí možnosti /U následované názvy maker, jejichž definice mají být zrušeny.Účinek tohoto příkazu odpovídá sekvenci příkazů #undef název makra na začátku souboru.
Specificka produktu Microsoft END