构造函数谁 spect void*

Struct to function who spect void*

我有这样的功能:

void mouseHandler(int event, int x, int y, int flags, void *roi){
roi->foo=foo;
....
}

我想称它为发送这样的结构:

struct Roi{
    Point point1, point2;
    int drag;
    Rect rect;
    Mat img, roiImg;
    int select_flag;
};
struct Roi roi;
cvSetMouseCallback("image", mouseHandler, (void*)&roi);

我有问题,因为我不知道该怎么做...求帮助

您需要先将 roivoid* 转换为 Roi*,然后才能访问成员。

Roi* realRoi = static_cast<Roi*>(roi);
realRoi->foo=foo;