Учитывая
#define cat(x,y) x##y
Вызов cat(a,1)
возвращает a1
, но cat(cat(1,2),3)
- undefined.
Однако, если я также определяю #define xcat(x,y) cat(x,y)
, тогда результат xcat(xcat(1,2),3)
теперь 123
. Кто-нибудь может объяснить, почему это так?