Macro de sobrecarga en el número de argumentos

Tengo dos macrosFOO2 yFOO3:

#define FOO2(x,y) ...
#define FOO3(x,y,z) ...

Quiero definir una nueva macroFOO como sigue:

#define FOO(x,y) FOO2(x,y)
#define FOO(x,y,z) FOO3(x,y,z)

Pero esto no funciona porque las macros no se sobrecargan en la cantidad de argumentos.

Sin modificarFOO2 yFOO3, ¿hay alguna manera de definir una macroFOO (utilizando__VA_ARGS__ o de lo contrario) para obtener el mismo efecto de despachoFOO(x,y) aFOO2yFOO(x,y,z) aFOO3?

Respuestas a la pregunta(8)

Su respuesta a la pregunta