qt报错 F:\qt_projects\QtScrcpy\videoform.cpp:143: error: no matching function for call to 'VideoForm::connect(QList<Decoder*>&, void (Decoder::*)(devicessocket*), VideoForm*, VideoForm::VideoForm(const QString&, QWidget*)::<lambda(devicessocket*)>)' }); ^
时间: 2023-06-20 17:09:43 浏览: 230
这个错误是因为 `connect` 函数中的第三个参数不匹配。根据你提供的代码,第三个参数应该是 `this`,即当前 `VideoForm` 对象的指针。但是,在 lambda 表达式中,你又重新创建了一个 `VideoForm` 对象,并且将其传递给了 `decoder->recv_frame` 方法。这样会导致 `connect` 函数中的第三个参数与 lambda 表达式中的 `VideoForm` 对象类型不匹配。
要解决这个问题,你可以将 lambda 表达式中的 `VideoForm` 对象指针改为 `this`,如下所示:
```cpp
connect(decoders, &QList<Decoder*>::finished, this, [this](devicessocket *socket) {
if (socket == current_socket) {
ui->video->update();
}
});
for (auto decoder : *decoders) {
connect(decoder, &Decoder::recv_frame, this, [this](devicessocket *socket) {
if (socket == current_socket) {
ui->video->update();
}
});
}
```
这样,`connect` 函数中的第三个参数就与 lambda 表达式中的 `this` 相匹配了。
阅读全文
相关推荐
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![md](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)