转换为矢量<2f>

Casting as a vector<2f>

本文关键字:2f gt lt 转换      更新时间:2023-10-16

我正在使用OpenCV的高gui include,以便能够在我的图像上获得鼠标点击位置。我已经定义了一个向量<2f>我想存储在其中单击的点,但不幸的是,我认为我做错了什么:

void on_mouse(int mouseEvent, int x, int y, int flags, void* param)
{
    if( mouseEvent == CV_EVENT_LBUTTONDOWN) {
        printf("Clicked image at (%d,%d)n", x, y);
        (vector<Point2f>*)param.push_back(Point2f(x,y));
    }
}

我的编译器在参数上给了我一个错误,并说错误:表达式必须具有类类型。谁能建议如何转换为矢量结构?或者我做错了什么?

    (vector<Point2f>*)param.push_back(Point2f(x,y));

应该是:

    reinterpret_cast<vector<Point2f>*>(param)->push_back(Point2f(x,y));