ellipsis input til en macro
Jeg sidder og retter i noget kode jeg har overtaget fra en anden. Der er ca 1000 check, hvor der bliver checket på om en funktions pointer er sat, og hvis den er bliver funktionen kaldt med et skiftende antal inputs.e.g.
if(someClass->method == NULL)
return 0;
if(someClass->method(var1, var2))
return 0;
AddLog("someClass->method gik godt");
Dette exempel er meget simplificeret, men i principet er det det der sker, og så ca 1000 gange.
Jeg har lavet en antal macroer, så jeg kan håndtere fra 1 til 4 inputs.
#define macro2(fp, v1, v2) \
if(fp == NULL) \
return 0; \
if(*fp(v1, v2)) \
return 0; \
AddLog(%fp%" gik godt"); \
Kan jeg ikke spare alle mine macroer væk, og lave en macro med 'ellipsis' input?