铸造为矢量< 2f>

时间:2012-11-29 20:59:05

标签: c++ opencv

我使用OpenCV的highgui包括能够在我的图像上获得鼠标点击位置。我已经定义了一个向量< 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));

    }
}

我的编译器在 param 上给出了一个错误,并说错误:Expression必须具有类类型。 任何人都可以建议如何投射为矢量结构?或者我做错了什么?

1 个答案:

答案 0 :(得分:4)

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

应该是:

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