我正在编写我的异常类:
class MyExcept: public std::exception
{
public:
MyExcept(std::string _msg);
virtual ~MyExcept() throw();
virtual const char* what() const throw();
private:
std::string m_errorMsg;
};
MyExcept::MyExcept(std::string _msg)
: m_errorMsg(_msg)
{
}
MyExcept::~MyExcept() throw()
{
}
const char* MyExcept:: what() const throw()
{
return m_errorMsg.c_str;
}
我使用g ++进行编译,并在函数what():
中为返回行获取以下错误无法从类型'const char *(std :: __ cxx11 :: basic_string ::)()转换'std :: __ cxx11 :: basic_string< _CharT,_Traits,_Alloc> :: c_str,std :: allocator>' const'来键入'const char *' return m_errorMsg.c_str;
我做错了什么? 感谢
答案 0 :(得分:5)
使用return m_errorMsg.c_str();
,它应该有用 - c_str
是功能,而不是变量。