Макросы в макросах

Действительно ли возможно поместить макрос в макрос в C++?

Что-то как:

#define Something\
#ifdef SomethingElse\ //do stuff \
#endif\

Я попробовал, и это не работало так, мое предположение - это, не работает, если нет своего рода синтаксис, который может зафиксировать его?

11
задан Brian Tompsett - 汤莱恩 27 November 2015 в 15:41
поделиться

3 ответа

Нет, но вы можете просто провести рефакторинг, вытащив #ifdef в качестве верхнего уровня и используя два разных # define Something ... версии для истинной и ложной ветвей #ifdef .

11
ответ дан 3 December 2019 в 02:19
поделиться

Макросы, да. Директивы препроцессора, которые вы опубликовали, нет

16
ответ дан 3 December 2019 в 02:19
поделиться

Нет. Я ответил на это в макросах c ++ с памятью?

Если вы хотите проверить или изменить среду предварительной обработки, другими словами, определить подпрограмму предварительной обработки, а не макрос замены строки, вам необходимо использовать заголовок, хотя законных причин для этого немного.

2
ответ дан 3 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: