C マクロ 新しいページはコチラ
提供: yonewiki
(→#undef) |
(→#undef) |
||
186行: | 186行: | ||
具体的には以下のように記述します。 | 具体的には以下のように記述します。 | ||
+ | <syntaxhighlight lang="cpp" line start="1"> | ||
+ | #define __MY_MACRO__ | ||
+ | #ifdef __MY_MACRO__ | ||
+ | #define __MY_MACRO1(a,b)__ ( 5000 + (a) + (b)) | ||
+ | #endif | ||
+ | |||
+ | #ifdef __MY_MACRO__ | ||
+ | #undef __MY_MACRO1__ | ||
+ | #undef __MY_MACRO__ | ||
+ | #endif | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 上記のように引数付きマクロ変数でも、解放するときは引数の記述を省略できます。定義されていないマクロ変数を#undefディレクティブで解放する指示をしてもエラーにはなりません。もちろん、#ifdefディレクティブを使って、定義されているマクロ変数だけを解放するように組み込むこともできます。 |