今天写了一个类,其中的一个方法用到了默认参数,结果报了 “default argument given of parameter 的问题 ” 错误。
类头文件的声明如下:
- void train(std::vector<std::vector<double> >& trainSet, std::vector<int>& labels, const std::string model, double lrate,
- std::vector<double>& w , double& b, int maxiter, double delt = 0.0000001 );
实现代码如下:
- <pre name="code" class="cpp">void perceptron::train(std::vector<std::vector<double> >& trainSet, std::vector<int>& labels, const std::string model, double lrate,
- std::vector<double>& w , double& b, int maxiter, double delt=0.000001 )
- {
- ....
- }
经上网查询才知, 带有默认值参数的函数,在实现的时候,参数上是不能有值的 。
应该将实现代码中的默认参数去掉,如下
- void perceptron::train(std::vector<std::vector<double> >& trainSet, std::vector<int>& labels, const std::string model, double lrate,
- std::vector<double>& w , double& b, int maxiter, double delt )
- {
- ....
- }
此时,就没有这个错误了。 记录一下。
转载:https://blog.csdn.net/chenlei0630/article/details/39393731