0
我有宏:如何获取宏功能的名称?
#define MYMACRO(pred, ...) \
pred /* here 'pred' is 'mypred(1, 2)', but I need to get only the name without args */
这是用这样的:
MYMACRO(mypred(1, 2))
我需要得到宏观功能的只有名字,不带参数。
我能做到这一点是这样的:
#define mypred(...) \
mypred
#define MYMACRO_EXPAND(pred) \
pred /* here 'pred' is 'mypred' without args */
#define MYMACRO(pred, ...) \
MYMACRO_EXPAND(pred)
但是这样是不好的,因为我要定义宏的所有可能的宏观功能。 想法?
这听起来像一个XY问题。实际上你试图解决什么? – 2014-10-16 19:47:18