D:\ZBY\ZBYQT\GSADPro\mainwnd1.cpp:7950: error: no matching function for call to 'ProbitRegression::fit(std::vector<std::vector<double> >&, std::vector<double>&, double&, int&)' model.fit(X, y, learning_rate, num_iterations); ^ 如何修改?
时间: 2024-03-26 20:40:09 浏览: 54
leetcode答案-zby-leetcode-python:zby的Python版答案
根据报错信息来看,ProbitRegression::fit()函数的参数类型和调用时的参数类型不匹配。可以尝试将fit()函数的参数类型改为如下:
```c++
void fit(const std::vector<std::vector<double>>& X, const std::vector<double>& y, double learning_rate, int num_iterations);
```
然后在调用fit()函数时,将学习率和训练次数的值传递进去,而不是传递它们的引用。代码修改如下:
```c++
ProbitRegression model(n_features);
double learning_rate = 0.01;
int num_iterations = 10000;
model.fit(X, y, learning_rate, num_iterations);
```
这样应该就可以成功编译了。
阅读全文