2017-11-27 12 views
-1

내 예외 클래스를 쓰고 있어요 :과부하 표준 : : 예외 const를 문자를 변환 할 수 없습니다 무슨 일이() *

변환 할 수 없습니다 '표준 : __ cxx11 :: basic_string < _CharT, _Traits, _Alloc> :: c_str, 표준 : : 할당>'형식에서 'const를 숯불 * (표준 : __ cxx11 :: basic_string ::)() const '을 입력하여'const char * ' return m_errorMsg.c_str;

내가 뭘 잘못하고 있니? 감사

+3

'c_str'은 함수입니다. 그걸 돌려 보내지 말고 전화해야합니다. 'return m_errorMsg.c_str;'=>'return m_errorMsg.c_str(); ' –

+1

'throw()'를 사용하는 것은 권장하지 않으며'C++ 11'에서는 * 사용되지 않습니다. ** 참조 : ** http://en.cppreference.com/w/cpp/language/except_spec – Galik

+0

나는 currntly C++ 11로 글을 쓰고 있지 않습니다. STD :: exception은 throw()를 사용합니다. 상속 받고 사용하지 못하게 할 수 있습니까? 감사합니다 – Hana

답변

5

사용 return m_errorMsg.c_str();, 그리고 그것을 작동합니다 - c_str기능 아닌 변수입니다.