error: no matching function for call to ‘rectangle(std::vector<cv::Mat>&, cv::Rect&, cv::Scalar, int)’ cv::rectangle(imgs_buffer[b], r, cv::Scalar(0x27, 0xC1, 0x36), 2);
时间: 2024-04-01 19:34:49 浏览: 149
这个错误提示显示了在调用函数`rectangle`时出现了问题。具体来说,函数调用的参数没有匹配到函数定义中的任何一个版本。错误提示中给出了函数调用的参数列表,以及函数定义中的参数类型。你需要检查调用的参数类型和数量是否正确,以及是否有参数类型不匹配的情况。如果需要,可以查看函数定义并确保参数类型与定义一致。
相关问题
error: no matching member function for call to 'connect'
这个错误通常表示在使用connect()函数时,参数类型不正确或者参数数量不正确。
首先,确保你已经包含了正确的头文件(例如<sys/socket.h>和<netinet/in.h>)。
其次,检查你传递给connect()函数的参数是否正确。connect()函数需要三个参数:socket文件描述符、目标地址结构体指针和目标地址结构体的大小。例如:
```
int sockfd;
struct sockaddr_in serv_addr;
socklen_t addrlen = sizeof(serv_addr);
// 初始化serv_addr
if (connect(sockfd, (struct sockaddr *)&serv_addr, addrlen) < 0) {
perror("connect error");
exit(1);
}
```
如果你还是无法解决问题,可以将代码片段和错误信息一起贴出来,这样我就可以更好地帮助你了。
I:\QT\CustomControl\smallwidget.cpp:12: error: no matching function for call to 'SmallWidget::connect(QSpinBox*&, <unresolved overloaded function type>, QSlider*&, void (QAbstractSlider::*)(int))' connect(ui->spinBox,&QSpinBox::valueChanged,ui->horizontalSlider,&QSlider::setValue); ^
这个错误是因为 `connect` 函数的第二个参数没有正确的匹配。可以尝试使用 `static_cast` 将函数指针转换为正确的类型。例如:
```cpp
connect(ui->spinBox, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), ui->horizontalSlider, &QSlider::setValue);
```
或者使用 Lambda 表达式来代替信号:
```cpp
connect(ui->spinBox, QOverload<int>::of(&QSpinBox::valueChanged), [=](int value) {
ui->horizontalSlider->setValue(value);
});
```
这样也可以实现相同的功能,并且更加清晰易懂。
阅读全文
相关推荐
















