У меня есть два макроса FOO2 и FOO3:
#define FOO2(x,y) ...
#define FOO3(x,y,z) ...
Я хочу определить новый макрос FOO следующим образом:
#define FOO(x,y) FOO2(x,y)
#define FOO(x,y,z) FOO3(x,y,z)
Но это не работает, потому что макросы не перегружают количество аргументов.
Без изменения FOO2 и FOO3 существует ли способ определить макрос FOO (используя __VA_ARGS__ или иначе), чтобы получить тот же эффект от диспетчеризации FOO(x,y) до FOO2 и FOO(x,y,z) до FOO3?