当前位置: 技术问答>linux和unix
linux操作系统的异常类(exception)不支持标准c++?
来源: 互联网 发布时间:2016-06-29
本文导语: g++编译 这是输出 a.c:26: error: no matching function for call to `std::exception::exception(const char[2])' /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception:53: note: candidates are: std::exception::exception(const std::exception&)...
g++编译 这是输出
a.c:26: error: no matching function for call to `std::exception::exception(const char[2])'
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception:53: note: candidates are: std::exception::exception(const std::exception&)
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception:55: note: std::exception::exception()
难道没有字符串形参的构造函数??
a.c:26: error: no matching function for call to `std::exception::exception(const char[2])'
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception:53: note: candidates are: std::exception::exception(const std::exception&)
/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/exception:55: note: std::exception::exception()
难道没有字符串形参的构造函数??
|
标准 exception 貌似没有这个const char*为参数的构造函数.
|
class exception
{
public:
exception() throw();
exception(const exception&) throw();
exception& operator=(const exception&) throw();
virtual ~exception() throw();
virtual const char *what() const throw();
};
不过你可以使用std::runtime_error、std::logic_error或更具体的异常类,它们都有const std::string&为参数的构造函数。