Boost logo

Boost :

From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2004-07-14 23:00:22

> -----Original Message-----
> [mailto:boost-bounces_at_[hidden]] On Behalf Of

> BOOST_PP_REPEAT works great for me when used like:
> #define MAX 5
> #define CODE my_code_goes_here
Passing nothing as a macro argument is undefined in C++. You should use a
dummie argument instead--preferably not an identifier. I usually use ~ or ?.

> But it gets confused when used like:
> #define MAX (4+1)

Arkadiy is correct. The library cannot understand the expression (4+1). It can
only understand unadorned integer literals (such as 1, 2, 3, etc.) from 0 to
256. If you need to do arithmetic, you have to use the arithmetic primitives of
the library, such as BOOST_PP_ADD or, in this case, BOOST_PP_INC (which is more

Thus, if you want to do a repetition of MAX + 1, you need to say:


Paul Mensonides

Boost list run by bdawes at, gregod at, cpdaniel at, john at