![]() |
#7 |
Участник
|
Макрос - это просто текстовая подстановка уровня компиляции.
Макрос работает с текстом программы(!) а не со значениями переменных. Макрос не преобразует имя переменной в значение. Если вы объявили макрос через имя переменной, то значением макроса будет буквально имя переменной, а не её значение. 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 |
|
|
За это сообщение автора поблагодарили: Cardagant (1). |