2010-12-06 5 views
3

처음에는 숙제인데 이진 검색 트리에 대한 도움이 필요합니다.C++ 숙제 - 이진 검색 트리 도움말

사람을 추상 기본 클래스로 사용하는 다형성 및 Person을 상속하는 다른 유형의 사람을 표시하는 프로그램입니다. 각각의 사람은 성을 가지고 있으며 이진 검색 트리를 사용하여 성을 알파벳순으로 알파벳순으로 표시하려고합니다.

허용 가능한 이진 검색 트리가되어야한다고 생각하는 내용을 작성했지만 오류가 계속 발생합니다. 이진 탐색 트리는 삽입 및 트래버스 기능 만 있으면됩니다. 재귀 적이어야합니다.

내가 점점 오전 오류는 오류 19 오류 C4430 : - 실종 타입 지정이 여기 라인 (51), (64)에서 발생하고 70

내 코드입니다 가정 bst.cpp을 int로 :

헤더 파일 :

#ifndef BST_H 
#define BST_H 

template <class T> 
class BST 
{ 
    private: 
     class BinNode 
     { 
      public: 
       BinNode(void); 
       BinNode(T node); 

       BinNode *left; 
       BinNode *right; 
       T data; 
     }; 

     BinNode* root; 

    public: 
     BST(); 
     ~BST(); 

     void insert(const T &); 
     void traverse(); 
     void visit(BinNode *); 


    //Utlity Functions 
    private: 
     void insertAux(BinNode* &, BinNode *); 
     void traverseAux(BinNode *, ostream &); 
}; 

#include "BST.cpp" 
#endif 

실행 파일 :

,579,

누군가 나를 위해 이걸 간단하게 살펴보고 몇 가지 팁을 줄 수 있습니까? 지금 당장은 혼란 스럽습니다. 감사!

+1

오류가 발생하는 라인을 명확하게 지정하십시오. 우리를 세지 마십시오. –

+1

'누락 된 타입 지정자'- 무엇이 빠졌는지 궁금합니다 :) –

답변

3

일부 함수 정의에서 반환 유형을 생략했습니다. 예를 들어

:

template <class T> 
BST<T>::traverse() 
{ 
    traverseAux(root); 
} 

가 있어야한다 :

template <class T> 
void BST<T>::traverse() 
{ 
    traverseAux(root); 
} 
1

당신은 변경해야 다른하는 오류와 유사 BST<T>::traverse()void BST<T>::traverse()

.