2011-11-14 6 views
-6

이 오류가 계속 발생하는 이유는 무엇입니까? http://codepad.org/jPQzMWvGC++ 상속, 해결되지 않은 외부?

+6

오류와 별도로 : 헤더에'네임 스페이스 X;를 사용하면 안됩니다. 실제로 네임 스페이스의 요점을 없앱니다. – KillianDS

+5

코드 패드에 대한 링크를 게시하는 대신 코드 및 실제 컴파일러 오류를 직접 질문에 게시하는 것이 좋습니다. –

+0

... 코드에서 제외하는 것은 당신이 아는 것이 무의미합니다. 시간을 절약하고 시간을 절약 할 수 있습니다. – wilhelmtell

답변

3

헤더 (라인 36)에 소멸자를 선언했지만 사용자가 소스 코드에서 정의하지 않았습니다. 소스 코드에 이것을 추가하면 괜찮을 것 :

Entity::~Entity() 
{ 
    // do the cleanup here 
} 
+1

원시 포인터 멤버가 있습니다. 적절한 소멸자는 아마도 비어 있지 않습니다. –

+0

@ MarkRansom Right. 포인터가 처음 사용 된 이유는 확실하지 않습니다. 나는 또한 코드에서 많은 다른 문제들을 본다. 요약하면, 적절한 정리를 사용할 수 있습니다. –

+0

고쳐 주셔서 고마워요! –

1

클래스 정의는 소멸자 ~Entity을 포함하지만 Entity.cpp 파일에 대한 구현이 없습니다.

1

소멸자를 ~Entity() (및 ~Block())으로 선언했지만 어디에도 구현되지 않았습니다. 소멸자가 필요한 경우, 소멸자를 구현하십시오. 그렇지 않으면 선언을 제거하십시오.

그런데 외부 웹 사이트가 아닌 질문에 코드를 게시해야합니다.