에 나는 말한다 오류가 점점 오전에 대해 :느슨한 던져 지정자 C++
오류 : 대한 느슨한 던져 지정자 '가상 CPLAT :: CP_Window :: ~ CP_Window() 소멸자에
, 내가 가진 전에 이것을 들어 보지 못했고 일부 Google 검색은 이것이 GCC 4 문제 일 수 있다고 말합니다.이 문제는 유니버설 바이너리를 작성하기 위해 GCC 4가 필요하기 때문에 해결 방법을 모르겠습니다.
내 환경 : OS X 10.6, XCode 3.2.2, 범용 이진을 작성하는 GCC 4.
무엇이 문제입니까?
내 stl 구현은 std :: exception의 소멸자를 '~ exception() throw(); '으로 선언한다. 이제 내가 이것을 내 자신의 예외에 대한 기반으로 사용한다면, 나는 파생 된 모든 것에 desructructor를 선언해야한다. 비록 소멸된다면 gcc는 불평 할 것이기 때문에 그 소멸자에서 할 일이 없어도 클래스를 사용할 수 있습니다. 이 중복 된 선언을 피할 수있는 방법이 있습니까? –
기술적으로 중복되지 않기 때문에 내가 아는 것은 없습니다. 소멸자를 정의하지 않으면 throw 지정자가없는 것을 얻습니다. 따라서 잘못된 함수 서명이 있습니다. 비어있는 throw 지정자 인'throw()'를 사용하여 올바른 함수 시그니처를 정의해야합니다. 컴파일러가 당신을 위해 그렇게했다면 좋겠지 만 분명히 똑똑하지는 않습니다. –
의견을 주셔서 감사합니다. –