Udostępnij za pośrednictwem


#undef — dyrektywa (C/C++)

Usuwa (niszczy definicję) nazwę utworzoną wcześniej z #define.

#undef identifier

Uwagi

Dyrektywa #undef usuwa aktualną definicję identyfikatora.W związku z tym kolejne wystąpienia identyfikatora są ignorowane przez preprocesor.Aby usunąć definicji makra za pomocą #undef, określ tylko makra identyfikatora ; nie podawaj listy parametrów.

Można również stosować dyrektywę #undef do identyfikatora, który nie ma poprzedniej definicji.Dzięki temu identyfikator jest niezdefiniowany.Wymiana makra nie jest wykonywana w ramach instrukcji #undef.

Dyrektywa #undef jest zazwyczaj w połączeniu z dyrektywą #define, która utworzy region 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 wpływają na pozostałe części programu.Dyrektywa #undef współpracuje również z dyrektywą #if do kontrolowania kompilacji warunkowej programu źródłowego.Zobacz Dyrektywy #if, #elif, #else oraz #endif, aby uzyskać więcej informacji.

W poniższym przykładzie dyrektywa #undef usuwa definicje symbolicznej stałej i makra.Należy zauważyć, że podany jest tylko identyfikator makro.

#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 opcji /U, poprzedzone nazwami makr, które mają być niezdefiniowane.Efekt wystawiania tego polecenia jest równoważny z sekwencją instrukcji #undefNazwa makra na początku pliku.

KONIEC informacji specyficznych dla firmy Microsoft

Zobacz też

Informacje

Dyrektywy preprocesora