Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 #undef macro-name na początku pliku.
END Microsoft Specific