是否可以在GNU C中进行宏递归?

时间:2019-05-06 21:16:00

标签: c

由于已允许在GNU C中使用 VA_OPT ,所以我遇到了宏递归的问题。具有默认标志的GNU C既不允许直接递归,也不允许间接。有没有办法避免涂成蓝色?

P.S。例如,我编写了一个宏,用于计算向该宏发送了多少个参数

#define M_S_VA_ARG_INC(a, ...) 1 __VA_OPT__(+ M_S_VA_ARG_INC(__VA_ARGS__)) 
#define M_NUMBER_VA_ARG(...) (0 __VA_OPT__(+ M_S_VA_ARG_INC(__VA_ARGS__)))

0 个答案:

没有答案