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


#undef - Директива (C/C++)

Удаляет (препроцессора) имя ранее созданный объект с #define.

#undef identifier

Заметки

#undef директива удаляет текущее определение Идентификатор.Таким образом, последующие вхождений Идентификатор пропуск препроцессором.Удалить определение макроса использование #undef, предоставьте только макроса Идентификатор ; не присваивайте список параметров.

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

#undef обычно связыванна, а директива #define директива для создания области в программе источника, в которой идентификатор имеет особое значение.Например, конкретная функция программы источника может использовать константы манифеста для определения значения среда-специфического, не влияющие на остальную часть программы.#undef директива также работает с #if директива позволяет наблюдать за условную компиляцию программы источника.См. #if, #elif " #else И директивы #endif для получения дополнительных сведений.

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

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

Только для систем Microsoft

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

ЭЛЕМЕНТ, относящийся Майкрософт

См. также

Ссылки

Директивы препроцессора