Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Удаляет имя, ранее созданное с помощью #define, то есть отменяет его определение.
Синтаксис
идентификатор #undef
Замечания
Директива #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
Блок, относящийся только к системам Майкрософт
Макросы можно не определить из командной строки с помощью /U параметра, а затем имена макросов, которые будут неопределенными. Результат выдачи этой команды эквивалентен последовательности #undef операторов имени макроса в начале файла.
Завершение блока, относящегося только к системам Майкрософт