Пельмень
09.01.2017, 17:17
Привет, в общем у меня довольно не обычный вопрос
Допустим я имею это
#define t(%1)(%0) t_%1(%0)
#define t_0(%0)
#define t_1(%0) %0
#define t_2(%0) %0%0
Использую я например это вот так
t(2)(print("priv");)
И получаю вот это в ответ
priv
priv
Но если я буду использовать это вот так
#define b 2
t(b)(print("priv");)
То получаю (по 36*лу) Undefined symbol t_b
Как мне объяснить компилятору, что мой дефайн b это не b а цифра 2?
Допустим я имею это
#define t(%1)(%0) t_%1(%0)
#define t_0(%0)
#define t_1(%0) %0
#define t_2(%0) %0%0
Использую я например это вот так
t(2)(print("priv");)
И получаю вот это в ответ
priv
priv
Но если я буду использовать это вот так
#define b 2
t(b)(print("priv");)
То получаю (по 36*лу) Undefined symbol t_b
Как мне объяснить компилятору, что мой дефайн b это не b а цифра 2?