请教关于类成员函数指针的问题
我要在类的成员函数内调用以下全局函数,该函数的第4个参数为函数指针:
double half(const double x0, const double x1, const double y, double (*fptr)(const double));
以一个简单的表示矩形的类进行说明。
class rectangle //矩形
{
private:
double m_b; //矩形宽度
double m_h; //矩形高度
public:
rectangle(const double b, const double h):m_b(b),m_h(h) {}
double get_a(const double y) {return m_b*y;} //返回矩形内高度为y范围内的面积
double get_y(const double a);
};
double rectangle::get_y(const double a)
{
return half(0,m_h,a,get_a);
}
在编译时get_y函数内出现如下错误信息:
cannot convert parameter 4 from 'double (const double)' to 'double (__cdecl *)(const double)'
好像成员函数名不是函数指针,请问应如何改正。
double half(const double x0, const double x1, const double y, double (*fptr)(const double));
以一个简单的表示矩形的类进行说明。
class rectangle //矩形
{
private:
double m_b; //矩形宽度
double m_h; //矩形高度
public:
rectangle(const double b, const double h):m_b(b),m_h(h) {}
double get_a(const double y) {return m_b*y;} //返回矩形内高度为y范围内的面积
double get_y(const double a);
};
double rectangle::get_y(const double a)
{
return half(0,m_h,a,get_a);
}
在编译时get_y函数内出现如下错误信息:
cannot convert parameter 4 from 'double (const double)' to 'double (__cdecl *)(const double)'
好像成员函数名不是函数指针,请问应如何改正。
...全文
相关推荐
C++类成员函数指针[项目源码]
本文详细介绍了C++中类成员函数指针的使用方法,包括静态和非静态成员函数指针的语法及实例。文章首先指出直接像C语言那样使用类成员函数指针会报错,并提供了两种解决方法:将非静态成员方法改为静态方法或正确使用类成员函数指针。接着,文章详细讲解了非静态成员方法函数指针和成员方法函数指针的语法,并通过实例代码展示了如何在实际编程中使用这些指针。实例代码包括静态函数指针的使用、成员函数指针的使用以及通过成员函数调用其他成员方法的示例。
C++Hook(钩子)编程,通过内联汇编,使类成员函数代替全局函数(静态函数)[收集].pdf
C++Hook(钩子)编程,通过内联汇编,使类成员函数代替全局函数(静态函数)[收集].pdf
贴子中的函数指针无法编译的例子的附件
贴子中的函数指针无法编译的例子的附件 VC6工程文件
APIHook、InlineHook库,使用C++11编写,可将回调函数绑定到类成员函数
APIHook、InlineHook库,使用C++11编写,可将回调函数绑定到类成员函数。代码风格良好,适合学习。
vc回调函数 类子,用来演示怎样将类中的函数作为一个回调函数
回调函数的小类子,用来演示怎样将类中的函数作为一个回调函数


