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


posted @ 2019-01-02 19:30  Jerry_Jin  阅读(3892)  评论(0编辑  收藏  举报