- Oct 28, 2005
- 9,840
- 6
- 71
I have a code that needs to perform numeric integration on a variety of different integrands. Instead of doing a cumbersome hard coding using flags, I want to be able to pass as an argument a function for it to integrate. My current code compiles and works fine for the Intel C++ compiler and last I checked Visual C++ 6.0 compiler. However, I need to debug some changes and I need to compile it in Gcc and I cannot figure out the syntax. The error is typically:
Stupid preview isn't working so I can't tell how legible all of this looks.
GenLayeredGreens.cpp:3056: error: no matching function for call to ?GenLayeredGreens::Qagsint(<unresolved overloaded function type>, double&, double&, double&, double&, Dcmplx&, double&, int&, int&, int&)
GenLayeredGreens.h:73: note: candidates are: void GenLayeredGreens::Qagsint(Dcmplx (GenLayeredGreens::*)(FunctionValues*, Dcmplx), Dcmplx, Dcmplx, double, double, Dcmplx&, double&, int&, int&, int&)
The line in question is:
Qagsint(GenLayeredGreens::QuasiCorrect, za, values->r[2], eps, eps, gtm1, error, numintervals, ier, last);
The declaration of Qagsint is:
void GenLayeredGreens::Qagsint(Dcmplx(GenLayeredGreens::*f)(FunctionValues*, Dcmplx),
Dcmplx a, Dcmplx b, double epsabs, double epsrel, Dcmplx& result,
double& abserr, int& neval, int& ier, int& last)
So all of these are in the class GenLayeredGreens.
EDIT: Lord I hate fusetalk.
Stupid preview isn't working so I can't tell how legible all of this looks.
GenLayeredGreens.cpp:3056: error: no matching function for call to ?GenLayeredGreens::Qagsint(<unresolved overloaded function type>, double&, double&, double&, double&, Dcmplx&, double&, int&, int&, int&)
GenLayeredGreens.h:73: note: candidates are: void GenLayeredGreens::Qagsint(Dcmplx (GenLayeredGreens::*)(FunctionValues*, Dcmplx), Dcmplx, Dcmplx, double, double, Dcmplx&, double&, int&, int&, int&)
The line in question is:
Qagsint(GenLayeredGreens::QuasiCorrect, za, values->r[2], eps, eps, gtm1, error, numintervals, ier, last);
The declaration of Qagsint is:
void GenLayeredGreens::Qagsint(Dcmplx(GenLayeredGreens::*f)(FunctionValues*, Dcmplx),
Dcmplx a, Dcmplx b, double epsabs, double epsrel, Dcmplx& result,
double& abserr, int& neval, int& ier, int& last)
So all of these are in the class GenLayeredGreens.
EDIT: Lord I hate fusetalk.