The #undef directive removes the current definition of the specified name. All subsequent occurrences of the name are processed without replacement.

#undef name


Name to be removed. This value is any combination of letters, digits, and punctuation that is valid for the C/C++ preprocessor.


This example removes the definitions for the names nonzero and USERCLASS:

#undef     nonzero
#undef     USERCLASS

Preprocessor Directives