Cでは、可変長マクロで各可変引数を連結することは可能ですか?
例:
MY_MACRO(A, B, C) // will yield HDR_A, HDR_B, HDR_C
MY_MACRO(X, Y) // will yield HDR_X, HDR_Y
通常の##
演算子は、可変個引数マクロに対して特別な意味を持ちます (空の引数リストのコンマを避けます)。with を使用した場合の連結__VA_ARGS__
は、最初のトークンのみで行われます。
例:
#define MY_MACRO(...) HDR_ ## __VA_ARGS__
MY_MACRO(X, Y) // yields HDR_X, Y
提案?