可能重複可變數目:
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