参数传递

Parameter passing

本文关键字:参数传递      更新时间:2023-10-16

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的地址,并将其用作回调,以防止某些异步事件的发生。