>>>> #define x alt_x > >the preprocessor token "x" is an object-like macro standing for "alt_x", so >when we get to > >>>> #define alt_x(p) x(p+1) > > what the preprocessor sees after the first round of expansion is > >#define alt_x(p) alt_x(p+1)
As pointed out before - there is *no* expansion for preprocessing directives, except where the standard explicitly says otherwise. Jan