글쎄, 나에게 무슨 일이 일어나고 있는지 이상하게 들리지만, 분명히하려고 노력할 것입니다. 클래스를 가지고 있으며 한 가지 방법으로 던지기 (hpp 정의와 cpp 구현)를 결정합니다. 그래서 std :: exception을 던질 수있는 메서드가 있습니다. 여기 아무 문제 없습니다.throw를 추가하기 때문에 C++ 링커가 작동하지 않습니다.
class myclass {
void mymethod() throw(std::exception);
}
하려면 :
class MyException : public std::exception {
public:
MyException() throw();
~MyException() throw();
const char what() const throw();
}
확인,의 나의 방법에에서 를 사용하자 :
class myclass {
void mymethod() throw(MyException); // I have included hpp file where MyException is defined
}
OK
나는 내 예외를 만들! 이 내가)
/tmp/ccwSS5GE.o:(.gcc_except_table+0x84을 얻을 것입니다 : ' MyException에 대한 소속 카테고리'에 정의되지 않은 참조가 collect2 : ld에 반환 한 종료 상태
왜?? std :: exception을 사용하면 모든 것이 정상적으로 작동하지만 아무 것도 작동하지 않습니다.
으로 정의 된 기본 클래스 표준 : : 예외의 하나 공변되지 않은 클래스의 반환 형식 'CONST 문자'(HTTP [이 스레드는 도움이 될 것입니다]를 : //stackoverflow.com/questions/307352/g-undefined-reference-to-typeinfo). 특별히 [Tyler McHenry 's answer] (http://stackoverflow.com/questions/307352/g-undefined-reference-to-typeinfo/307440#307440)를 확인하십시오. 여전히 해결할 수 없다면 코드를 모두 보여주십시오. 그리고 어떻게 사용하려고하는지. – birryree
링커가 중단되지 않았습니다. 그것은 단순히 당신의 프로그램에 오류를보고했다. –
링크 명령은 유닉스에서 역할을합니다. 그거 알아? – Muggen