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