In macro invocation, what kind of tokens can I pass as arguments?\n\nAnother question: can I pass more than one token for single arguments? eg.\n\n#define MYMACRO(arg1, arg2) arg1 arg2\n\nMYMACRO("abc" L'd' .12, "def")\n\nIs it valid? But if I can pass anything I could even pass a comma since\nit's a preprocessing token, ok? So i could write:\n\nMYMACRO("abc" , L'd' .12, "def")\n\nThat is ambiguous since it's not clear if the first comma closes the first\nargument or if it's just another token to pass. Please, give me an answer.\n\nGreetings.\n\nps: i'm supposing that c and c++ preprocessors follow almost the same rules,\nbut not sure it's right.