関数(への参照)を引数にして関数を呼び出すときに関する質問です。
ソースは↓です。

#include <iostream>

void g(double &a, double b, double (&f)(double d) ) { a=f(b); }

double k(double p) { return 5.0*p; }

class C
{
public:
C(double y): x(y) {}
double m(double p) { return x*p; }
private:
double x;
};


int main()
{
C c(10.0);
double z;
g(z, 3.0, k); // (#1a)
cout << z << endl ; // (#1b)
// g(z, 3.0, c.m); // (#2a)
// cout << z << endl; // (#2b)
return 0;
}