On 2/25/2012 11:02 AM, janus wrote:
> Hello All,
>
> I would need some to explain the below code.
> #define RF_ARG16(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, ...) _15
>
> I understand "..." as variable arguments. But what is "_x"?
A name for a macro parameter. The macro is equivalent to
#define RF_ARG16(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, \
p10, p11, p12, p13, p14, p15, ...) p15
or to
#define RF_ARG16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,...) p
In any guise, it looks like a symptom of macro overreach if
not outright macro abuse.
--
Eric Sosman
d