マクロ名のスコープ (#undef)

プリプロセッサーの 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 を使用することができます。

関連参照

IBM Copyright 2003