我的on函数具有另一个函数作为参数:
#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);
}
当我在main
函数中使用它时:
int main ()
{
int m,n;
int (*minus)(int,int) = subtraction;
m = operation (7, 5, addition);
n = operation (20, m, *minus);
cout <<n;
return 0;
}
在addition
中使用minus
和operation
的其他方式:
m = operation (7, 5, &addition);
n = operation (20, m, *minus);
或:
m = operation (7, 5, *addition);
n = operation (20, m, minus);
所有这些对象都具有相同的结果:在这种情况下为8
。它们之间有什么区别吗?我该怎么用?