I have the following integral function with Simpson's rule:
typedef double real;
typedef real real_func(real);
real Integral(real_func func, real a, real b, unsigned int N = 1000)
{...}
It works like:
real myfunc(real x) { ... }
Integral(sin,1,2);
Integral(myfunc,1,2);
But does not work with a public class function:
class myclass{
public:
real classfunction(real);
};
real mylass::classfunction(real x) {...};
The following gives error:
myclass probe;
Integral(probe.classfunction,1,2);
The compiler error message is:
error: argument of type `real (EOS::)(real)'
does not match `real (*)(real)'