在c ++ 11中我有函数
double f(double x1);
double f(double x1, double x2);
double f(double x1, double x2, double x3);
double h(double x);
Run Code Online (Sandbox Code Playgroud)
我也有功能
double g(std::vector<double> y, double x1);
double g(std::vector<double> y, double x1, double x2);
double g(std::vector<double> y, double x1, double x2, double x3);
Run Code Online (Sandbox Code Playgroud)
g的实现是这样的
double g(std::vector<double> y, double x1, double x2, double x3)
{
double ans = 0.0;
for(g : y)
{
ans = h(g) * f(x1, x2, x3);
}
return ans;
}
Run Code Online (Sandbox Code Playgroud)
是否有一种优雅(模板化)的方式来做这个而不是用重载参数写g 3次?