### Pointers to functions

I was reading the c++ tutorial on this site and made it to this part:

 ``1234567891011121314151617181920212223242526`` ``````#include using namespace std; int addition (int a, int b) { return (a+b); } int subtraction (int a, int b) { return (a-b); } int operation (int x, int y, int (*functocall)(int,int)) { int g; g = (*functocall)(x,y); return (g); } int main () { int m,n; int (*minus)(int,int) = subtraction; m = operation (7, 5, addition); n = operation (20, m, minus); cout <

and I realized I could also do it this way:

 ``123456789101112131415161718192021222324`` ``````#include using namespace std; int addition (int a, int b) { return (a+b); } int subtraction (int a, int b) { return (a-b); } int operation (int x, int y, int (functiontocall)(int,int)) { int g; g = (functiontocall)(x,y); return (g); } int main () { int m,n; m = operation (7,5,addition); n = operation (20,m,subtraction); cout << n; }``````

so why would anyone ever bother to make a pointer point to a function when they can do it this way? I don't really see the use in using pointers to call a function.
Last edited on
In any case a parameter declared as a function is implicitly converted to the function pointer. it is the same as with arrays. For example

void f( int a[10] );

is equivalent to

void f( int *p );
Last edited on
Topic archived. No new replies allowed.