- この関数は、ADgbLv>=2では呼んでほしいけど、ADbgLv<=1では呼ばないでほしい(呼び出しコードごと消えてほしい)と思うことはよくあります。そういうときに、
#if (ADbgLv >= 2)
debugFunc(a, b, c);
#endif
- と書くのはおっくうです。それでこんな表記ができます。
ADL2(debugFunc(a, b, c));
- これだけで上記と同じ挙動になります。
- ADL2()の中に変数宣言を書くこともできます。
ADL2(int i);
- ただし、ADL2()の中にコンマを書くと引数が2個あるとみなされて2番目以降の記述が捨てられるので、その時は_ADL2()を使います(あきらめて素直に #if 使うほうがいいかもしれないですが)。
ADL2(int i)_ADL2(j); // int i,j; になる.