Undoing a Macro

Undoing a Macro

If you happen to define an object or a function or a constant whose name collides with a macro located elsewhere in a third-party header file, as in:

   // file defs.h   //...many declaration  #define PI 3.14  // your program:  #include "defs.h"  const double PI = 3.14159265358; // error, 'PI' redefined

you can use the #undef preprocessor directive to cancel a previously-defined macro:

   #include "defs.h"  #undef PI  // from now on, ignore the PI macro  const double PI = 3.14159265358979 // OK


Share the Post: