2013-12-13 2 views
0
template<class item_type> struct node{ 
    item_type x; 
    node<item_type> *left; 
    node<item_type> *right; 
    int Get_Height(); 
    int Get_Num_Nodes(); }; 

template<class item_type, class param> class Tree{ 
     node<item_type> *root; 
    public: // some functions 
     Tree(int roo); 

노드를 잎으로 사용하는 Tree 클래스가 있습니다. Tree (int roo)는 생성자입니다.생성자가 호출 된 후 프로그램이 중단됩니다.

template<class item_type, class param> 
Tree<item_type, param>::Tree(int roo) 
{ 
    this->root->x=roo; 
    this->root->left=NULL; 
    this->root->right=NULL; 
} 

이것은 생성자의 구현입니다. 나는 또한 root->left=NULL을 생략하고 오른쪽과 같은 시간에 동시에 생성자를 사용하지 않고 기본값을 사용하는 것을 시도했다. 내가 main()

Tree<int, int> durr(1);을 실행할 때 내 프로그램을 충돌하는 것 모두

은 내가 문제를 볼 수없는 것 그리고 난 초보 프로그래머입니다. 어떤 도움을 주시면 감사하겠습니다.

+5

'root'는 초기화되지 않은 것입니다. – chris

+0

루트가 NULL입니다. ptr – Hamdor

+0

@blub 그건 다소 잘못된 이름입니다. 릴리스 빌드에서 루트는 NULL이 아닌 단지 가비지를 가리킬 것입니다. – IdeaHat

답변

관련 문제