У меня есть набор сгенерированных функций из инструмента поставщика, которые должны быть определены мной.
Поскольку внутренняя функциональность каждой из этих функций абсолютно одинакова, я решил, что мог бы использовать макрос, чтобы облегчить мне жизнь.
Вот предупреждение обидно:
pasting "<function_name>" and "(" does not give a valid preprocessing token
Теперь я определяю свой макрос следующим образом:
#define HANDLE_FUNCTION(x) \
void <function_prefix>_ ## x ## (void) \
{ \
x ## _Flag = TRUE; \
}
В моем коде я пишу:
HANDLE_FUNCTION(fn1)
HANDLE_FUNCTION(fn2)
... и т. Д.
Есть мысли о том, почему это происходит?