FOO(x) bar(x)
#endif
Если условия не произошли, я хочу позже сделать гарантированно чтобы FOO(x) был задефайнлен (#else в начальном #if пользоваться не хочу)
Оно так делается?:
#ifndef FOO
#define FOO(x)
#endif
Или так:
#ifndef FOO(x)
#define FOO(x)
#endif
первый вариант
Спасибо
И ещё вопрос по макросам: Я никак не могу сделать что-то подобное? #define FOO(X) \ #ifdef X 1 #else 2 #endif и затем я ожидаю такой результат #define BAR FOO(BAR) // => 1 FOO(BAZ) // => 2
Хотя технически, если макросы просто работают как вставка кода как строк, то я так понимаю это невозможно На момент "вызова" FOO не будет никакой информации из чего получился X
В макросах попросту нельзя использовать иные препроцессорные директивый Ну прагмы в некотором смысле - исключение ввиду наличия _Pragma
Понял принял. Спасибо
Обсуждают сегодня