工程在vs2012下正常,安装vs2013后,编译在opencv文件里出错

时间:2023-01-21 22:17:52
具体在any.h, 错误为:Error 26 error C2061: syntax error : identifier 'dest' d:\software\opencv\build\include\opencv2\flann\any.h 70 1 MultiTaskRankLearning
双击定位到:template<typename T>
struct small_any_policy : typed_base_any_policy<T>
{
    virtual void static_delete(void**) { }
    virtual void copy_from_value(void const* src, void** dest)
    {
        new (dest) T(* reinterpret_cast<T const*>(src));
    }
    virtual void clone(void* const* src, void** dest) { *dest = *src; }
    virtual void move(void* const* src, void** dest) { *dest = *src; }
    virtual void* get_value(void** src) { return reinterpret_cast<void*>(src); }
    virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast<T const*>(src); }
};

请求大侠指点,实在是没法子了。

12 个解决方案

#1


顶起!提供方案者可获更多分。

#2


换2012罗,没有期待的牛人。。。。

#3


盲目升级是码农之殇!

偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

#4


看看微软官方有什么解决方案没

#5


不是的代码的问题,那个any.h是opencv中的,有人用vs2013和opencv的话肯定遇到过的。我在别的机器上试了:vs2012+opencv就可以。

#6


看看微软官方有什么解决方案没

#7


具体问题:
Error 16 error C2061: syntax error : identifier 'dest' d:\software\opencv\build\include\opencv2\flann\any.h 70 1 PULearning
位置在opencv里的文件any.h. release下编译可以通过,debug下提示这个错误。

template<typename T>
struct small_any_policy : typed_base_any_policy<T>
{
    virtual void static_delete(void**) { }
    virtual void copy_from_value(void const* src, void** dest)
    {
        new (dest) T(* reinterpret_cast<T const*>(src));-----------------------这个地方出错
    }
.....
};

#8


找到答案了。

#9


就是不要用什么蛋疼的ultimate版了,用professional版。

#10


同求,解决没?

#11


我用的就是professional,没用啊,还是报错

#12


如果是mfc,你可以在XXXDlg.cpp把那个
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
放到include “XXXX”前面

#1


顶起!提供方案者可获更多分。

#2


换2012罗,没有期待的牛人。。。。

#3


盲目升级是码农之殇!

偶遇到类似问题都是用
“每次用/*...*/注释掉不同部分再重新编译,直到定位到具体语法出错的位置。”
的方法解决的。

#4


看看微软官方有什么解决方案没

#5


不是的代码的问题,那个any.h是opencv中的,有人用vs2013和opencv的话肯定遇到过的。我在别的机器上试了:vs2012+opencv就可以。

#6


看看微软官方有什么解决方案没

#7


具体问题:
Error 16 error C2061: syntax error : identifier 'dest' d:\software\opencv\build\include\opencv2\flann\any.h 70 1 PULearning
位置在opencv里的文件any.h. release下编译可以通过,debug下提示这个错误。

template<typename T>
struct small_any_policy : typed_base_any_policy<T>
{
    virtual void static_delete(void**) { }
    virtual void copy_from_value(void const* src, void** dest)
    {
        new (dest) T(* reinterpret_cast<T const*>(src));-----------------------这个地方出错
    }
.....
};

#8


找到答案了。

#9


就是不要用什么蛋疼的ultimate版了,用professional版。

#10


同求,解决没?

#11


我用的就是professional,没用啊,还是报错

#12


如果是mfc,你可以在XXXDlg.cpp把那个
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
放到include “XXXX”前面