model.train(samples); D:\ZBY\ZBYQT\GSADPro\mainwnd1.cpp:7620: error: no matching function for call to 'QuantileRegression::train(Sample*&)' model.train(samples); ^
时间: 2024-04-22 22:22:56 浏览: 111
这个错误提示说明 `QuantileRegression` 类的 `train` 函数参数类型应该是 `Sample*`,而你传递的是 `Sample*&` 类型的指针。可能是在函数定义处或者函数声明处出现了错误。请检查一下 `QuantileRegression` 类的定义,确保 `train` 函数的参数类型是 `Sample*`:
```c++
class QuantileRegression {
public:
void train(Sample* samples) {
// ...
}
};
```
然后在调用 `train` 函数时,如果 `samples` 是一个 `vector` 容器对象,可以使用 `data()` 函数获取指向第一个元素的指针,然后将其传递给 `train` 函数:
```c++
QuantileRegression model;
vector<Sample> samples;
// 加载样本数据
// ...
// 将 vector 容器对象中的数据传递给 train 函数
model.train(samples.data());
```
如果 `samples` 是一个数组,则可以直接传递数组的名称(即指向第一个元素的指针):
```c++
QuantileRegression model;
Sample samples[100];
// 加载样本数据
// ...
// 将数组对象中的数据传递给 train 函数
model.train(samples);
```
阅读全文