Цитата:
Сообщение от
Cardagant
что неверно делаю?
Макрос - это просто текстовая подстановка уровня компиляции.
Макрос работает с текстом программы(!) а не со значениями переменных.
Макрос не преобразует имя переменной в значение.
Если вы объявили макрос через имя переменной, то значением макроса будет буквально имя переменной, а не её значение.
X++:
int NameOfVariable = 777;
;
#define.test1(NameOfVariable)
#define.test2(777)
#if.test1(NameOfVariable)
info("Test1: NameOfVariable");
#endif
#if.test1(777)
info("Test1: 777");
#endif
#if.test2(NameOfVariable)
info("Test2: NameOfVariable");
#endif
#if.test2(777)
info("Test2: 777");
#endif