Error no matching function for call to 'std::exception::exception(const char [15])'


Error no matching function for call to 'std::exception::exception(const char [15])'

Error 'logic_error' was not declared in this scope

错误原因

C++在使用VS 编译时抛出异常可以用下列语句:

throw std::exception("XXX");

但使用Dev-C++ (GCC) 编译时,会报以下错误:

Error no matching function for call to 'std::exception::exception(const char [15])'

解决方法:

#include <stdexcept>
throw std::logic_error("XXX");

如果不  #include <stdexcept>  则会报错:

Error 'logic_error' was not declared in this scope

 

附:

标准异常阶层体系

 





参考: 
http://www.cplusplus.com/forum/beginner/107744/
https://blog.csdn.net/xiajun07061225/article/details/8231270
https://blog.csdn.net/fengbingchun/article/details/78303734



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM