Consider the following C program:
#include
#include
typedef void callptr();
static void fixed(void *something, double val)
You should work with consistent function definitions, even if that means to use varargs even if not needed. The best is to be as verbose as needed.
...
typedef void myfunc_t(void *, ...);
...
myfunc_t dynamic;
void dynamic(void * something, ...)
{
...
}
...
int main()
{
double x = 1337.1337;
myfunc_t *callnow;
callnow = &dynamic;
callnow(NULL, x);
printf("%f\n", x);
}