在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
这没有调用onTrackbarSlide
。cvCreateTrackbar
方法必须存储函数onTrackbarSlide
的地址,并将其用作回调,以防止某些异步事件的发生。