Let\'s try to run the following code:
#include #define MY_MACRO1(isArray,y) do { \\ if(isArray) \\
You can use BOOST_PP_IF:
#include #define MY_MACRO1(isArray,y) printf("%d", BOOST_PP_IF(isArray, (y)[0], (y)))
See it live on Coliru