Using function pointers when argument list of the functions aren't known beforehand

Hi everyone,

I am trying to write a generalized function to numerically solve a set of n simultaneous equations in n unknowns, for any integer n. I'd like to pass the individual equations as function pointers to a variable length argument list, like this

Code:

`void solve_simul( int n, ... ) {/*stuff*/}`

The next n arguments will be pointers to the variables, and the next n after that will be pointers to the functions. I'm planning to have va_arg stick them in an array of function pointers inside solve_simul. If n was 3, the function call would be equivalent to

Code:

`solve_simul( 3, &x, &y, &z, phi0, phi1, phi2 );`

where each of the phi functions (in the case where n=3) would be like this:

Code:

`double phi0( double x, double y, double z ) {/*stuff*/}`

My problem is how to declare the function pointers inside the solve_simul function. It doesn't know beforehand how many variables the phi functions take, so how can I specify what type they are?