Обычно неиспользуемые параметры функции, такой как макрос, встречаются в следующей ситуации:
#ifdef A_IS_GREAT_ALWAYS
#define anothermacro(a,b,c) (1)
#else
#define anothermacro(a,b,c) ((a)>(b)+(c))
#endif
Без параметров будет нарушена компоновка в следующих местах, когда A_IS_GREAT_ALWAYS не определен.
...
if (anothermacro(foo, bar, baz))
...
Прекомпилятор переводит пример кода в:
if ((1))
или
if (((foo)>(bar)+(baz)))
в зависимости от того, определен A_IS_GREAT_ALWAYS или нет.