使用函数作为另一个函数的参数

时间:2020-04-27 22:17:06

标签: c++ function function-pointers

我的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中使用minusoperation的其他方式:

  m = operation (7, 5, &addition);
  n = operation (20, m, *minus);

或:

  m = operation (7, 5, *addition);
  n = operation (20, m, minus);

所有这些对象都具有相同的结果:在这种情况下为8。它们之间有什么区别吗?我该怎么用?

0 个答案:

没有答案