重定义默认参数 : 参数 1
当遇到bug:重定义默认参数 : 参数 1时,我们需要检查一下声明和定义是否重复赋给了某个变量初值。
template<typename T>
void polyfit(const std::vector<typename T>& x, const std::vector<typename T>& y, int poly_n,
bool isSaveFitYs=true );
void Fit::polyfit(const std::vector<typename T>& x, const std::vector<typename T>& y, int poly_n,
bool isSaveFitYs = true)
{
polyfit(&x[0], &y[0], getSeriesLength(x, y), poly_n, isSaveFitYs);
}
我们看到,isSaveFitYs这个变量在函数声明和定义中都赋了初值,只需要将声明部分赋的初值删除就可以排除问题
。
template<typename T>
void polyfit(const std::vector<typename T>& x, const std::vector<typename T>& y, int poly_n,
bool isSaveFitYs);