Macros variadiques avec zéro argument

Je suis en train de travailler sur un appel de macro,

#define CALL(f,...) FN(f)->call((ref(new LinkedList()), __VA_ARGS__))

qui, lorsqu'il est appelé,

CALL(print,2,3,4,5);

ajoute 2 3 4 5 de la liste chaînée (, est surchargé de le faire) et les appels d'impression qui s'attend à une liste, qui fonctionne comme prévu comment jamais, il y a des appels qui ne nécessitent pas d'arguments,

CALL(HeapSize);

Il faut toujours une liste, mais un vide, au-dessus ne fonctionne pas, je suis en train d'essayer de trouver une macro qui woud de travailler avec style?

EDIT: Creuser par le gcc docs que j'ai trouvé que l'ajout de ## avant VA_ARGS supprime l' , quand il n'y a pas d'arguments, mais avec qui je ne peux pas imbriquer des macros,

CALL(print,CALL(HeadSize));

cela provoque APPEL non défini erreur comment jamais, si j'ai séparé les appels il fonctionne

source d'informationauteur Hamza Yerlikaya