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 17:34:49 浏览: 90
这个错误提示显示了在调用函数`rectangle`时出现了问题。具体来说,函数调用的参数没有匹配到函数定义中的任何一个版本。错误提示中给出了函数调用的参数列表,以及函数定义中的参数类型。你需要检查调用的参数类型和数量是否正确,以及是否有参数类型不匹配的情况。如果需要,可以查看函数定义并确保参数类型与定义一致。
相关问题
[Error] no matching function for call to 'std::basic_istream<char>::getline(std::string&, int)'
这个错误提示是因为在使用 `std::getline` 函数时,第二个参数应该是一个字符类型的值,而不是一个整数。正确的用法是:`std::getline(istream &is, string &str, char delim)`,其中 `delim` 是一个字符类型的值,代表要使用哪个字符作为分隔符。
如果您想读取整行输入并存储到一个字符串中,可以这样写:
```C++
#include <iostream>
#include <string>
using namespace std;
int main() {
string line;
getline(cin, line);
cout << line << endl;
return 0;
}
```
在这个例子中,我们使用 `getline` 函数从标准输入流中读取一行输入,然后将其存储到一个名为 `line` 的字符串中。最后,我们将 `line` 字符串打印出来。
怎么解决[Error] no matching function for call to 'std::basic_ifstream<char>::basic_ifstream(std::string&...
这个错误通常是因为你在创建 `std::ifstream` 对象时,使用了错误的参数类型。具体地说,你可能正在尝试将一个 `std::string` 对象传递给 `std::ifstream` 构造函数,但该构造函数需要接受一个 `const char*` 类型的参数。
要解决这个问题,你可以使用 `std::string` 对象的 `c_str()` 方法来获取一个 `const char*` 类型的指针,然后将该指针传递给 `std::ifstream` 构造函数。例如:
```cpp
std::string filename = "example.txt";
std::ifstream input(filename.c_str());
```
另外,如果你使用的是 C++11 或更高版本,你可以直接将 `std::string` 对象传递给 `std::ifstream` 构造函数,因为在这些版本中,`std::ifstream` 已经支持了从 `std::string` 对象中构造的功能。例如:
```cpp
std::string filename = "example.txt";
std::ifstream input(filename);
```
阅读全文