SE处理计数传递给可变参数宏的实参的数量有几个问题和答案。这个问题似乎有一个规范的解决方案,其变体在答案中重复出现。引用可变参数宏中的特定参数
我的问题是,是否可以引用清单中的特定参数(以安全的方式)?例如,如果宏定义为:
#define MACRO(...) { some code involving __VA_ARGS__ }
是有referrring到第二个参数列表(例如__VA_ARG_1__
),假设我们知道,它实际上是通过一种方式?如果我们不知道它是否通过了会怎么样?
好的,请查看我对此问题的更新:“如果我们不知道它是否通过了,该怎么办?” - 有没有一种安全的方法来确定? – ysap
@ysap:你得到一个编译器错误。我认为这很安全,因为它会阻止你将程序发送给你的客户。 –
嗯,我的意思是运行时安全......也许“安全”不是这里最好的词。我希望能够确定是否在宏中使用ARGn之前。 AFAIR,你不能在宏内使用#ifdef,对吧? – ysap