DirectShow 下 BaseClasses 编译错误

xxdelta 2008-06-19 11:40:56
D:\DXSDK\Samples\C++\DirectShow\BaseClasses\amextra.cpp(108) : error C2664: 'NotifyEvent' : cannot convert parameter 2 from 'long' to 'unsigned long *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
amfilter.cpp
D:\DXSDK\Samples\C++\DirectShow\BaseClasses\amfilter.cpp(770) : error C2511: 'NotifyEvent' : overloaded member function 'long (long,long,long)' not found in 'CBaseFilter'
.\amfilter.h(148) : see declaration of 'CBaseFilter'
D:\DXSDK\Samples\C++\DirectShow\BaseClasses\amfilter.cpp(2936) : error C2664: 'NotifyEvent' : cannot convert parameter 2 from 'long' to 'unsigned long *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast


。。。。。。。。。。。。。。。。。。。。
都是这种类型错误,是什么原因呀?
...全文
70 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
winstonch 2008-06-19
  • 打赏
  • 举报
回复
NotifyEvent的第二个参数的类型是LONG_PTR也就是'unsigned long *'
你调用的时候用的应该是 'long' 型的实参,所以会出这个错。

你没贴出代码不知道该怎样改。

2,554

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧