我正在学习C++教程。我不理解指向函数的指针的这个例子。下面是例子:
// pointer to functions
#include <iostream>
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 <<n;
return 0;
}
这两行代码 "m = operation (7, 5, addition);
" 和 "n = operation (20, m, minus);
" 被处理方式相同,但是减法被声明为一个函数指针,而加法没有。那么它们是如何以相同的方式工作的呢?