René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback -
 

Pointers to Functions in C/C++

#include <stdio.h>

double F_1 (double a, double b) {
  return a*b;
}

double F_2 (double a, double b) {
  return a+b;
}

typedef double (*FP) (double a, double b);

double f (FP fp, double a, double b) {
  return (*fp)(a,b);
}

int main() {

  FP fp;

  fp=F_1;

  double retV;

  retV=f(fp, 4.2,4.2);
  printf("%f\n", retV);

  fp=F_2;

  retV=f(fp, 4.2,4.2);
  printf("%f\n",retV);

  return 0;
}