Я заинтересован в создании макроса для устранения предупреждения о неиспользуемой переменной.
В этом вопросе описывается способ подавления предупреждения о неиспользуемом параметре путем записи макроса внутри кода функции:
Универсально compi ler независимый способ реализации НЕИСПОЛЬЗОВАННОГО макроса в C / C ++
Но меня интересует макрос, который можно использовать в сигнатуре функции:
void callback (int UNUSED (some_useless_stuff)) {}
This это то, что я откопал с помощью Google ( источник )
#ifdef UNUSED
#elif defined(__GNUC__)
# define UNUSED(x) UNUSED_ ## x __attribute__((unused))
#elif defined(__LCLINT__)
# define UNUSED(x) /*@unused@*/ x
#elif defined(__cplusplus)
# define UNUSED(x)
#else
# define UNUSED(x) x
#endif
Можно ли расширить это для других компиляторов?
Изменить: для тех, кто не понимает, как работает тегирование: мне нужно решение для обоих C и C ++. Вот почему этот вопрос помечен как C, так и C ++, и поэтому решение только на C ++ неприемлемо.