プリプロセッサーの undef ディレクティブ により、プリプロセッサーは プリプロセッサー定義のスコープを終わらせます。
プリプロセッサーの #undef ディレクティブの形式は、次のとおりです。
>>-#--undef--identifier----------------------------------------><
identifier が現在マクロとして定義されていなければ、#undef は無視されます。
#undef ディレクティブの例
以下のディレクティブは BUFFER および SQR を定義します。
#define BUFFER 512 #define SQR(x) ((x) * (x))
以下のディレクティブはその定義を無効にします。
#undef BUFFER #undef SQR
これらの #undef ディレクティブの後に続いて ID BUFFER および SQR が現れても、それらは、いかなる置換トークンにも置き換えられません。 #undef ディレクティブによってマクロの定義が除去されてしまえば、 新しい #define ディレクティブでその ID を使用することができます。
関連参照