Определить макросы с условием в C ++ - PullRequest
0 голосов
/ 19 апреля 2019

Я нашел какой-то существующий ответ на SO, но на самом деле я не понимаю, как все там работает.

По сути, я хочу определить макрос в условии if / switch

if (condition)
{
#define SOME_MACRO
}

Итак, если какое-либо условие выполняется, будет определен новый макрос. Но, на данный момент, он все равно определяет макрос. Я понимаю, что это не совсем то, что нужно делать, но этому нет нормального объяснения.

1 Ответ

1 голос
/ 19 апреля 2019

Вы не можете смешивать макросы и код таким образом. Все макросы обрабатываются до того, как ваш код скомпилирован, это просто удобная функция для сохранения ввода (и облегчения чтения кода).

Существует макрос-синтаксис для условий, например, вы можете сделать:

#if Condition
#define X
#endif

для условного определения макроса.

...