Quiero escribir una macro en C que acepta cualquier número de parámetros, no un número específicoCómo hacer una macro variadic (número variable de argumentos)
ejemplo:
#define macro(X) something_complicated(whatever(X))
donde X
es cualquier número de parámetros
Lo necesito porque whatever
está sobrecargado y se puede llamar con 2 o 4 parámetros.
Intenté definir el macro dos veces, ¡pero la segunda definición sobrescribió la primera!
El compilador que estoy trabajando es g ++ (más específicamente, MinGW)
¿Desea C o C++? Si está utilizando C, ¿por qué está compilando con un compilador de C++? Para usar las macros variadas C99 adecuadas, debe compilar con un compilador C que admita C99 (como gcc), no un compilador C++, ya que C++ no tiene macros variadic estándar. –
Bueno, asumí que C++ es un súper conjunto de C a este respecto ... – hasen
http://tigcc.ticalc.org/doc/cpp.html#SEC13 tiene una explicación detallada de las macros variadas. – Gnubie