dyrektywa #undef (C/C++)

Usuwa (niezdefiniowane) nazwę wcześniej utworzoną za pomocą #definepolecenia .

Składnia

identyfikator #undef

Uwagi

Dyrektywa #undef usuwa bieżącą definicję identyfikatora. W związku z tym kolejne wystąpienia identyfikatora są ignorowane przez preprocesor. Aby usunąć definicję makra przy użyciu #undef, podaj tylko identyfikator makra, a nie listę parametrów.

Można również zastosować dyrektywę #undef do identyfikatora, który nie ma poprzedniej definicji. Gwarantuje to, że identyfikator jest niezdefiniowany. Zamiana makr nie jest wykonywana w instrukcjach #undef .

Dyrektywa #undef jest zwykle połączona z dyrektywą #define w celu utworzenia regionu w programie źródłowym, w którym identyfikator ma specjalne znaczenie. Na przykład określona funkcja programu źródłowego może używać stałych manifestu do definiowania wartości specyficznych dla środowiska, które nie mają wpływu na pozostałą część programu. Dyrektywa #undef współpracuje również z dyrektywą #if w celu kontrolowania kompilacji warunkowej programu źródłowego. Aby uzyskać więcej informacji, zobacz dyrektywy #if, #elif, #else i #endif.

W poniższym przykładzie dyrektywa #undef usuwa definicje stałej symbolicznej i makra. Należy pamiętać, że podano tylko identyfikator makra.

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

Specyficzne dla firmy Microsoft

Makra mogą być niezdefiniowane z wiersza polecenia przy użyciu /U opcji , a następnie nazwy makr, które mają być niezdefiniowane. Efekt wystawienia tego polecenia jest odpowiednikiem sekwencji instrukcji #undefmacro-name na początku pliku.

END Microsoft Specific

Zobacz też

Dyrektywy preprocesora