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?


Anmelden zum Antworten