.\flann.hpp(233): warning C4996: 'cv:flann:Index_<T>' 被宣言为已否决
...\flann.hpp(233): warning C4996: ɼv::flann::Index_T': 被声明为已否决如题所述,碰到了
...\flann.hpp(233): warning C4996: 'cv::flann::Index_<T>': 被声明为已否决
如题所述,碰到了这个警告:
1>d:\opencv\include\opencv2\flann\flann.hpp(233): warning C4996: 'cv::flann::Index_<T>': 被声明为已否决
IDE是VS2010 Ultimate。
想知道这个警告究竟是什么意思,这是不是OpenCV本身的代码存在什么漏洞呢?
在网上搜索了一些东西,有类似的问题,有解释是:
“微软的警告,主要是那些都是C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了一下同样功能的函数,只不过进行了参数的检测……”(warning C4996: “fopen”被声明为否决的:http://blog.sina.com.cn/s/blog_67299aec0100na73.html)
希望有朋友可以详细解释下在OpenCV中的这个问题。谢谢了:)
[解决办法]
strcpy,sprintf等c的函数会引发警告,要么禁止改警告,要么改成strcpy_s, sprintf_s更加安全的函数。
[解决办法]
这里不涉及strcpy等函数的问题吧,这里是'cv::flann::Index_<T>'的问题啊,可以针对这个进行具体解释么?
[解决办法]大家来解答啊。。
自己顶一个~
[解决办法]同问,一直被这个问题困扰
[解决办法]该回复于2012-02-21 09:12:43被版主删除
[解决办法]同问。。为什么啊。。。一模一样的问题。。。
[解决办法]解决方案是用flaan.hpp的第282行:Index_<T>::Index_(const Mat& dataset, const ::cvflann::IndexParams& params);替换flann.hpp的233行:Index_(const Mat& features, const ::cvflann::IndexParams& params);即可,不再出现此警告。具体原因,因为刚入门,俄还未知,,也请大家多帮忙。。