我遇到了这个错误,当我使用类时,我使用指针函数得到了这个错误。我的函数'ope'函数如何解决
evaluator::function(){
double (*ope) (double,double) ;
ope=&evaluator::add;
}
double evaluator::add( double a, double b){
return (a+b);
}
答案 0 :(得分:1)
此:
double (*ope)(double, double);
应该是:
double (evaluator::*ope)(double, double);
// ^^^^^^^^^^^^
因为您正在使用指向成员的指针。
答案 1 :(得分:0)
使用以下声明:
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;
}