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