Learning OpenCV书中的程序中:

void onTrackbarSlide(int pos)
{
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}

并且,在另一个位置:
if(frames!=0)
{
cvCreateTrackbar("Position","Example3",&g_slider_position,frames,onTrackbarSlide);
}

如果看到onTrackbarSlide,则没有传递参数。在这种情况下,什么值将传递给onTrackSlide(int pos)方法?

最佳答案

您正在传递函数的地址

void onTrackbarSlide(int pos)

作为函数cvCreateTrackbar中的最后一个参数

这不会调用onTrackbarSlidecvCreateTrackbar方法必须存储函数onTrackbarSlide的地址,并将其用作回调,以暗示某些异步事件的发生。

关于c++ - 参数传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6807598/

10-09 00:46