Problem mit BOOST_PP_LIST_FOR_EACH
-
Wie schon angedeutet, bastel ich grad an nem rekursiven Makro. Es gibt eine Zeile, die so aussieht:
BOOST_PP_LIST_FOR_EACH(LITTLE_HELPER,BOOST_PP_RPAREN(),LIST)
LIST ist ein Liste im BOOST_PP_LIST-stil.
LITTLE_HELPER:#define LITTLE_HELPER(R,DATA,ELEM)\ DATA\
Nun klappt das so aber nicht. Ich bekomme elf Warnungen und sieben Fehler. Aber wieso? Ich möchte die Fehler jetzt nicht posten, weil das relativ Unsinnig ist. Auszug:
Zu viele übergebene Parameter für das Makro 'BOOST_PP_LIST_FOR_EACH_I_P' Nicht genügend übergebene Parameter für das Makro 'BOOST_PP_TUPLE_ELEM_4_2' Nicht genügend übergebene Parameter für das Makro 'BOOST_PP_IS_BINARY' Zu viele übergebene Parameter für das Makro 'BOOST_PP_LIST_FOR_EACH_I_P'
Das geht dann halt noch so weiter. Meine Theorie ist, dass BOOST_PP_RPAREN() zu zeitig ersetzt wird. Nun klappt aber auch BOOST_PP_EXPAND(BOOST_PP_RPAREN()) scheinbar nicht, die Fehler -und Warnungsanzahl bleibt gleich. Auch wenn ich mehrmals BOOST_PP_EXPAND schreibe, also z.B.:
BOOST_PP_EXPAND(BOOST_PP_EXPAND(BOOST_PP_EXPAND(BOOST_PP_EXPAND(BOOST_PP_EXPAND(BOOST_PP_RPAREN())))))
Woram liegt das aber nun?