#define var(N) variable ## N
var(1)得到variable1
我想变量,我该如何定义宏?
var()有效,但始终会发出警告。还有其他解决方案吗?
答案 0 :(得分:2)
实际上,您提供的版本始终需要N
的非空参数。如果你有一个现代的C编译器,你可以使用这个结构:
#define var(...) variable ## __VA_ARGS__
这接受空参数,你应该没事。
"现代"这意味着C截至1999年。
答案 1 :(得分:-2)
不要在宏中使用参数:
#define var(n) variable