您的位置:首页 > 其它

error C2664: 'cvSetMouseCallback' : cannot convert parameter 2 from 'void (__cdecl *)(int,int,int,int)' to 'CvMouseCallback' 的解决

2011-03-14 10:48 537 查看
正如上文中提到的,在mfc中,cvSetMouseCallback()函数总是会提示如标题的错误提示,在查阅了网页和参考书,解决方法,如下:

在头文件中,将要调用的函数:on_mouse声明为静态成员函数

static void on_mouse(int event, int x, int y, int flags, void *param);


在on_mouse()函数中添加如下代码:

如果在on_mouse()中调用其他方法,需用定义的temp指针来调用

CMotionTraceDlg *temp = (CMotionTraceDlg*)param;
//////////////////////////////////////////////
temp->MessageBox("on_mouse", MB_OK);


自此,程序可以顺利运行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐