
"Daniel Wallin" <dalwan01@student.umu.se> wrote in message news:4047B47D.9010304@student.umu.se...
Jonathan Turkanis wrote:
I get the following warnings:
warning C4003: not enough actual parameters for macro 'BOOST_PP_IIF' warning C4003: not enough actual parameters for macro 'BOOST_PP_IIF_I' warning C4003: not enough actual parameters for macro 'BOOST_PP_IIF_0'
<snip>
BOOST_PP_EMPTY() evaluates to nothing, so I would think that VC6 is actually right. I'm probably wrong though, I'm no PP guru. ;) Anyway, I think you should do:
#define PARAM(has_param) BOOST_PP_IF( \ has_param \ , BOOST_PP_IDENTITY(typename Param) \ , BOOST_PP_EMPTY)()
Yes, that's better. It's hard to believe that VC6 could be the only conforming preprocessor on this point. though ;-) Thanks. Jonathan