由于已允许在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__)))