我正在为一个类编写一个 .hpp 文件,该类应该接收一个函数作为其参数之一并将其存储在一个成员变量中,到目前为止,我的代码如下所示:
template<typename Function> class myClass
{
public:
myClass(Function function) : pvFunction( function ) {}
//Functor operator
double operator() (double x) const{
return pvFunction(x+4);
}
private:
Function pvFunction
}
该程序看起来毫无意义,因为它返回的值现在并不重要。我只是想弄清楚如何将函数传递给这个类并使用它的仿函数运算符。唯一的问题是:
1)我不知道这个类的定义是否正确,这意味着这是接受任何类型的函数作为参数传递给这个类的对象的正确方法。
2)如何在我的程序中创建此类的实例?如何将函数传递给新对象然后调用它?
已经有一段时间了,似乎无法弄清楚
编辑:
在我的程序文件 main.cpp 中,此代码收到错误:
double function(double);
int main()
{
myClass<double> myClassObject((function));
return 0;
}
double function(double x)
{
return (x+3.0);
}