У меня есть два макроса 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
?