SE處理計數傳遞給可變參數宏的實參的數量有幾個問題和答案。這個問題似乎有一個規範的解決方案,其變體在答案中重複出現。引用可變參數宏中的特定參數
我的問題是,是否可以引用清單中的特定參數(以安全的方式)?例如,如果宏定義爲:
#define MACRO(...) { some code involving __VA_ARGS__ }
是有referrring到第二個參數列表(例如__VA_ARG_1__
),假設我們知道,它實際上是通過一種方式?如果我們不知道它是否通過了會怎麼樣?
好的,請查看我對此問題的更新:「如果我們不知道它是否通過了,該怎麼辦?」 - 有沒有一種安全的方法來確定? – ysap
@ysap:你得到一個編譯器錯誤。我認爲這很安全,因爲它會阻止你將程序發送給你的客戶。 –
嗯,我的意思是運行時安全......也許「安全」不是這裏最好的詞。我希望能夠確定是否在宏中使用ARGn之前。 AFAIR,你不能在宏內使用#ifdef,對吧? – ysap