可能重复可变数目:
C/C++: How to make a variadic macro (variable number of arguments)C++宏与参数
我需要宏,将包含它的参数的阵列扩展。例如:
#define foo(X0) char* array[1] = {X0}
#define foo(X0, X1) char* array[2] = {X0, X1}
等等。我的问题是我需要使用具有可变数量参数的foo,所以我希望能够使用foo(“foo0”),但也要使用foo(“foo0”,“foo1”,“foo2”...“欢“)。我知道这是可能有:
#define foo(...)
#define foo_1(X0) ..
#define foo_2(X0, X1) ..
#define foo_3(X0, X1, X2) ..
#define foo_N(X0, X1, ... XN) ..
而且使用____VA_ARGS____,但我不知道我怎么可以在这取决于它的参数计算foo_k宏扩大富?这可能吗?
我不知道,也__VA_ARGS__扩大逗号:)。愚蠢的我:) – Felics 2011-03-12 15:16:24
你看看:http://www.boost.org/doc/libs/1_46_0/libs/preprocessor/doc/index.html – julkiewicz 2011-03-12 14:58:58
我不想提升。要在一个小项目中进行很重要! – Felics 2011-03-12 15:01:45