Поделиться через


Директива #undef

Директива препроцессора, которая удаляет текущее определение константы или макроса, ранее определенного с помощью директивы #define .

идентификатор #undef

Параметры

Элемент Описание
Идентификатор
Идентификатор константы или макроса для удаления определения. Если макрос не определен, укажите только идентификатор, а не список параметров.

Комментарии

Директиву #undef можно применить к идентификатору, который не имеет предыдущего определения; это гарантирует, что идентификатор не определен. Замена макросов не выполняется в инструкциях #undef.

Директива #undef обычно связана с директивой #define для создания области в исходной программе, в которой идентификатор имеет особое значение. Например, определенная функция программы-источника может использовать константы манифестов для определения значений среды, которые не влияют на остальные части программы. Директива #undef также работает с директивой [) для управления условной компиляцией исходной программы.

Константы и макросы можно не определить из командной строки с помощью параметра /U, а затем идентификаторы, которые необходимо определить. Это эквивалентно добавлению последовательности директив #undef в начало исходного файла.

Примеры

В следующем примере показано, как использовать директиву #undef для удаления определений символьной константы и макроса.

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

#undef WIDTH
#undef ADD

См. также раздел

Директивы препроцессора (DirectX HLSL)

Директива #define (DirectX HLSL)

#if, )