#undef
Директива #undef удаляет текущее определение указанного имени. Все последующие вхождения имени обрабатываются без замены.
#undef name
-
Имя
-
Удаляемая имя. Это значение представляет собой любое сочетание букв, цифр и знаков препинания, допустимое для препроцессора C/C++.
В этом примере удаляются определения для имен, отличных от нуля и USERCLASS:
#undef nonzero
#undef USERCLASS