2016-01-15 5 views
0

Есть ли способ вставить макрос препроцессора, используя другой макрос препроцессора?Макрос препроцессора, который вставляет другой макрос препроцессора

Могу ли я сделать что-то подобное, например

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

так, что когда я пишу

INSERT_MACRO(foo();); 

он преобразуется в

#ifdef MYFLAG 
    foo(); 
    #endif 

? Благодаря!

ответ

1

Вы не можете использовать другую директиву препроцессора в определении. Вместо этого вы можете рассмотреть,

#ifdef MYFLAG 
#define INSERT_MACRO(x) x; 
#else 
#define INSERT_MACRO(x) 
#endif 
Смежные вопросы