標籤:c++
今天寫了一個類,其中的一個方法用到了預設參數,結果報了 “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 ){ ....}
此時,就沒有這個錯誤了。 記錄一下。
default argument given of parameter 的問題