19:28

BOOST_PP_IFで、条件は真なのに、偽のほうの引数で渡したマクロを展開しようとしてコンパイルエラー。よく考えたら、条件の真偽に関わらずマクロ展開は必ず行われるか。だとすれば、条件の結果に関わらず正しく展開できるマクロを引数に渡さないとアウトだよなー。うーん、どうしよう。

23:42

Boost - Users - [preprocessor]

BOOST_PP_IFで引数にマクロを渡した場合、条件の真偽に関わらず真偽どちらの引数も必ずマクロ展開される問題は、引数に与えるマクロがBOOST_PP_IFより後で展開されるように工夫することで解決。BOOST_PP_TUPLE_EATを使うといいっぽい。