2016-01-15 116 views
0

有沒有方法使用另一個預處理器宏插入預處理器宏?插入另一個預處理器宏的預處理器宏

我可以這樣做,例如

#define INSERT_MACRO(x) {#ifdef MYFLAG x; #endif} 

,這樣,當我寫

INSERT_MACRO(foo();); 

它轉換爲

#ifdef MYFLAG 
    foo(); 
    #endif 

?謝謝!

回答

1

您不能在define中使用另一個預處理器指令。 取而代之,您可能會考慮:

#ifdef MYFLAG 
#define INSERT_MACRO(x) x; 
#else 
#define INSERT_MACRO(x) 
#endif