解释这个错误 error: no match for ‘operator=’ (operand types are ‘std::vector<cv::Rect_<int> >’ and ‘cv::Rect2i {aka cv::Rect_<int>}’) DynamicAreas = detectedDynamicArea;
时间: 2024-02-22 16:55:34 浏览: 319
json error: Use of overloaded operator [] is ambiguous错误的解决方法
这个错误提示是因为在代码中尝试将一个 `cv::Rect2i` 类型的变量赋值给了一个 `std::vector<cv::Rect_<int>>` 类型的变量,而这两种类型是不兼容的。
`cv::Rect2i` 表示一个矩形区域,而 `std::vector<cv::Rect_<int>>` 表示多个矩形区域的集合。因此,不能将一个矩形区域赋值给一个集合类型的变量。
如果你想将一个矩形区域添加到集合中,可以使用 `std::vector` 的 `push_back` 方法,例如:
```
DynamicAreas.push_back(detectedDynamicArea);
```
这样就可以将 `detectedDynamicArea` 添加到 `DynamicAreas` 集合中了。
阅读全文