Voglio scrivere una macro in C che accetta qualsiasi numero di parametri, non un numero specificoCome fare una macro variadic (numero variabile di argomenti)
esempio:
#define macro(X) something_complicated(whatever(X))
dove X
è qualsiasi numero di parametri
Ho bisogno di questo perché whatever
è sovraccarico e può essere chiamato con 2 o 4 parametri.
Ho provato a definire la macro due volte, ma la seconda definizione ha sovrascritto la prima!
Il compilatore con cui sto lavorando è g ++ (più precisamente, mingw)
Vuoi C o C++? Se stai usando C, perché stai compilando con un compilatore C++? Per usare le macro variadiche C99 corrette, dovresti compilare un compilatore C che supporti C99 (come gcc), non un compilatore C++, poiché C++ non ha macro variadic standard. –
Beh, ho assunto che il C++ sia un super set di C in questo senso .. – hasen
http://tigcc.ticalc.org/doc/cpp.html#SEC13 ha una spiegazione dettagliata delle macro variadiche. – Gnubie