#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 макрос-имя выписки в начале файла.
ЭЛЕМЕНТ, относящийся Майкрософт