我首先vector<FaceObject> faces;之后face_detect_run(ctx, rgb, &faces);那我应该如何写函数face_detect_run的形参
时间: 2024-03-12 21:47:18 浏览: 58
如果`faces`是一个空的`std::vector<FaceObject>`,并且你需要在`face_detect_run`函数中向其中添加元素,你可以将`faces`的地址作为指针参数传递给`face_detect_run`函数,如下所示:
```c++
void face_detect_run(Context ctx, uint8_t* rgb, std::vector<FaceObject>* faces) {
// 在此函数中,通过修改faces指向的vector来添加检测到的人脸信息
}
```
这里使用了一个指向`std::vector<FaceObject>`的指针作为函数的最后一个参数,通过修改指针指向的`vector`对象,可以向其中添加检测到的人脸信息。在函数中可以使用`faces->push_back()`等函数来添加元素。注意要使用`->`来访问指针指向的`vector`对象的成员函数。
如果`faces`已经包含了一些元素,你可以将`faces`作为引用参数传递给`face_detect_run`函数,如下所示:
```c++
void face_detect_run(Context ctx, uint8_t* rgb, std::vector<FaceObject>& faces) {
// 在此函数中,通过修改faces来添加检测到的人脸信息
}
```
这里使用了一个`std::vector<FaceObject>&`类型的引用作为函数的最后一个参数,通过修改引用所绑定的`vector`对象,可以向其中添加检测到的人脸信息。在函数中可以使用`faces.push_back()`等函数来添加元素。注意要使用`.`来访问引用所绑定的`vector`对象的成员函数。
阅读全文