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);
을 실행할 때 내 프로그램을 충돌하는 것 모두
은 내가 문제를 볼 수없는 것 그리고 난 초보 프로그래머입니다. 어떤 도움을 주시면 감사하겠습니다.
와
'root'는 초기화되지 않은 것입니다. – chris
루트가 NULL입니다. ptr – Hamdor
@blub 그건 다소 잘못된 이름입니다. 릴리스 빌드에서 루트는 NULL이 아닌 단지 가비지를 가리킬 것입니다. – IdeaHat