我想要做這樣的事情:是否有可能向另一個宏評估多個參數?
#define NEED3ARGS(a1,a2,a3) ("[" #a1 " + " #a2 " + " #a3 "]")
#define MULTIARG() ARG1, ARG2, ARG3
NEED3ARGS(MULTIARG())
而且我也希望輸出是這樣的:
("[" "ARG1" " + " "ARG2" " + " "ARG3" "]")
而是我有:
$ cpp multiarg.c
# 1 "multiarg.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "multiarg.c"
multiarg.c:4:23: error: macro "NEED3ARGS" requires 3 arguments, but only 1 given
NEED3ARGS
是否有使用ANSI-C/GNU GCC和C預處理器來完成我想要的工作?
謝謝!