我得到了这个错误,当我使用指向函数的指针时,我得到了这个错误。我的函数'ope‘函数如何解决
evaluator::function(){
double (*ope) (double,double) ;
ope=&evaluator::add;
}
double evaluator::add( double a, double b){
return (a+b);
}发布于 2013-07-15 00:01:21
这一点:
double (*ope)(double, double);应该是:
double (evaluator::*ope)(double, double);
// ^^^^^^^^^^^^因为您使用的是指向成员的指针。
发布于 2013-07-15 00:08:37
使用以下声明:
double (A::*func)(double, double)并像这样进行调用:
return ((*this).*func)(5, 4);希望这能帮上忙。
class A {
public:
double foo();
double foo2(double, double);
};
double A::foo() {
double (A::*func)(double, double);
func = &A::foo2;
return ((*this).*func)(5, 4);
}
double A::foo2(double a, double b) {
return a + b;
}https://stackoverflow.com/questions/17640886
复制相似问题