【发布时间】:2016-02-17 16:08:31
【问题描述】:
我有一个使用可变参数模板编码的数值方法。我想将混合参数传递给它,一些双精度类型和一些向量类型。最小的例子;
template<typename... Ts>
using custom_function_t = double(*) (double, Ts...);
template<typename... Ts>
double BiPart(double min, double max,custom_function_t<Ts...> f,Ts... args)
double FunctionA(double A, double a, double b, vector<double> &C);
int main()
{
double a=0, b=1,x=0, y=1;
vector<double> C;
BiPart(x,y,FunctionA, a,b, &C);
return(0);
}
double FunctionA(double A, double a, double b, vector<double> &C)
{
some stuff here
}
我得到错误: '没有匹配的函数调用'Bipart(...)'' '模板参数推导/替换失败:参数包推导与 'std::vector&' 和 'std::vector' 不一致。
【问题讨论】:
-
你确定你正在编译 this 程序吗?它有几个拼写错误,导致编译错误与您所询问的不同。