【发布时间】:2013-12-23 14:04:22
【问题描述】:
我有课
class A{
A(/*constructor arguments*/);
double MethA(double);
};
我想在一个函数中传递MethA 方法,该函数需要一个指向函数的指针:
double function(double (*f)(double), double x){
return f(x);
}
所以我要做的就是打电话
A a(/*constructor arguments*/);
function(a.MethA,1.0);
但它不能编译。
我很确定这个问题在其他地方得到了回答,但我找不到在哪里,因为我不确定我使用的术语是否正确。我是否试图将类方法上的指针作为函数参数传递?或者,将函数指针作为类的成员传递......我很困惑:-(
【问题讨论】:
-
请正确拼写。
class是小写字母,最后需要一个分号。细节,但编程就是细节。 -
为什么写代码充其量是不可理解的?你有虚函数。传入具有其中之一的对象并使代码可读
-
指向成员函数的指针与函数指针的类型不同
-
@Tim,这就是我想我迷路的原因......我不明白我需要传递什么类型才能在
function中调用MethA -
是您将其传递给您编写的函数吗?如果没有,那么你需要一个包装函数。