void f(int a, char b, char* c) { if(..) { ... f(a,b,c); //recursive } ... } void g(int a, double b, char* c, int d) { if(..) {