void foo0(int bar); void foo1(int bar);
我不能创建一个宏QUX,它将扩展到基于另一个宏BAZ的这些函数名称.我尝试了以下方法:
#define BAZ 0 #define QUX(x) foo##BAZ(x)
但它没有用,因为生成的函数是fooBAZ().如何让它生成foo0()?
#define CAT_I(a,b) a##b #define CAT(a,b) CAT_I(a,b) #define QUX(x) CAT(foo,BAZ) ## (x)