function pointer x + y

#include <iostream>
using namespace std;

double add (double x, double y)
{
    return x + y;
}

double calculate (double m, double n, double (*pf)(double, double))
{
    return (*pf)(m, n);
}


int main()
{
    double sum = 0;
    double a, b;
    cin >> a >> b;
    sum = calculate(a,b,add);
    cout << sum << endl;
    return 0;
}

  1、函数的parameter和返回类型必须与相对应的函数指针类型一致。

  2、如果(*pf)是函数,那么pf就是该函数的指针。

注意 double (*pf) (int);  是指 pf指向一个返回double类型的函数。

  double *pf(int); 指 pf()函数返回一个double类型的指针。

posted @ 2017-12-01 20:29  Bear_Guo  阅读(163)  评论(0编辑  收藏  举报