warning C4541: 'dynamic_cast' used on polymorphic type 'class CWnd' with /GR-; unpredictable behavio

本文介绍了解决使用'dynamic_cast'时遇到的问题的方法。当项目未开启运行时类型信息(RTTI)支持时,使用'dynamic_cast'会导致编译错误。文中提供了解决方案:通过菜单Project-Setting-C/C++ Language-Enable run-time type information (RTTI),从而成功启用RTTI支持。

是因为没有打开run-time   type   information   支持就使用'dynamic_cast'    


  菜单project-setting-c/c++  

  c++   language - enable   run-time   type   information   (RTTI)  


home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] make[2]: *** [src/CMakeFiles/pangolin.dir/build.make:752:src/CMakeFiles/pangolin.dir/video/drivers/ffmpeg.cpp.o] 错误 1 make[2]: *** 正在等待未完成的任务.... In file included from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varvalue.h:32, from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/var.h:35, from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varextra.h:32, from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/pangolin.h:53, from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/video/drivers/firewire.h:31, from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/src/video/video.cpp:31: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = std::__cxx11::basic_string<char>; S = bool]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] 81 | }catch(BadInputException) { | ^~~~~ /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = bool; S = std::__cxx11::basic_string<char>]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = bool; S = double]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = bool; S = float]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = bool; S = long int]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = bool; S = int]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = bool; S = short int]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h: In instantiation of ‘void pangolin::VarWrapper<T, S>::Set(const T&) [with T = bool; S = bool]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:76:10: required from here /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/var/varwrapper.h:81:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=] In file included from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/log/packetstream.h:33, from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/src/log/packetstream.cpp:28: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/utils/picojson.h: In function ‘bool pangolin::json::_parse(Context&, pangolin::json::input<Iter>&) [with Context = pangolin::json::default_parse_context; Iter = std::istreambuf_iterator<char, std::char_traits<char> >]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/utils/picojson.h:336:12: warning: ‘<anonymous>.pangolin::json::value::u_’ may be used uninitialized in this function [-Wmaybe-uninitialized] 336 | u_ = x.u_; | ~~~^~~~~~ In file included from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/src/var/vars.cpp:31: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/utils/picojson.h: In function ‘bool pangolin::json::_parse(Context&, pangolin::json::input<Iter>&) [with Context = pangolin::json::default_parse_context; Iter = std::istreambuf_iterator<char, std::char_traits<char> >]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/utils/picojson.h:336:12: warning: ‘<anonymous>.pangolin::json::value::u_’ may be used uninitialized in this function [-Wmaybe-uninitialized] 336 | u_ = x.u_; | ~~~^~~~~~ In file included from /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/src/console/ConsoleView.cpp:3: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/utils/picojson.h: In function ‘bool pangolin::json::_parse(Context&, pangolin::json::input<Iter>&) [with Context = pangolin::json::default_parse_context; Iter = std::istreambuf_iterator<char, std::char_traits<char> >]’: /home/lee/ORB_SLAM2-master/Thirdparty/Pangolin-0.5/include/pangolin/utils/picojson.h:336:12: warning: ‘<anonymous>.pangolin::json::value::u_’ may be used uninitialized in this function [-Wmaybe-uninitialized] 336 | u_ = x.u_; | ~~~^~~~~~ make[1]: *** [CMakeFiles/Makefile2:411:src/CMakeFiles/pangolin.dir/all] 错误 2 make: *** [Makefile:130:all] 错误 2
最新发布
12-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值