0
我在尋找使一個可擴展到額外的參數宏的方式:宏擴展到額外的宏參數
int constant1=2, constant2=3;
#define add_three_arguments(x,y,z) x+y+z
#define extra_arguments ,constant1,constant2
#define make_value(A) add_three_arguments(A extra_arguments)
int r = make_value(5);
爲什麼你想要一個宏,而你肯定可以使用一個函數來做到這一點? –
不直接相關,bit__never__像'#define add_three_arguments(x,y,z)x + y + z'一樣定義宏,但總是將表達式放入'()'中,如下所示:'#define add_three_arguments(x,y,z )(x + y + z)'。否則,如果你使用'x = add_three_arguments(1,2,3)* 10',結果將不會是你所期望的。 –
如果您想告訴我們您要在此實現的更高級別的目標,這將非常有幫助。 –