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
和同时使用右边和右边两个,同时没有构造函数并使用默认值。
当我在Tree<int, int> durr(1);
main()
时,所有这些似乎都会导致程序崩溃
我似乎无法看到问题而且我是一名新手程序员。任何帮助将不胜感激。
答案 0 :(得分:1)
使用*root
this->root = new node<item_type>