When I compile my code in Dev C++, I get this error: [Error] Id returned 1 exit status

When I compile my code in Dev C++, I get this error: [Error] Id returned 1 exit status

这是一个简单的二叉树程序的代码:

 #include <iostream>
 using namespace std;

template <class Tree>

class node
{
public:
    node()
    {
        this->tree=NULL;
        this->leftnode=this->rightnode=NULL;

    };

    ~node();

    node(Tree* base)
    {
        this->tree=base;
        this->leftnode=this->rightnode=NULL;
    };

    Tree* getnodevalue()
    {
        return this->tree;
    };

    node* getleftnode()
    {
        return leftnode;
    };

    node* getrightnode()
    {
        return rightnode;
    };

    void newleft(node* val)
    {
        this->leftnode=val;
    };

    void newright(node* val)
    {
        this->rightnode=val;
    };

    void newnode(Tree* val)
    {
        this->tree=val;
    };

    int chkleaf()
    {
        if(this->leftnode==NULL && this->rightnode==NULL)
            return 1;
        return 0;
    }

    void insert(node* nextnode, int* value)
    {
        node <int>* nodecounter= new node<int>(value);
        node<int> *p, *q;
        p=q=nextnode;

        while(*value!=*(p->getnodevalue()) && q!=NULL)
        {
            p=q;
            if(*value<*(p->getnodevalue()))
                q=p->getleftnode();
            else
                q=p->getrightnode();

        };

        if(*value==*(p->getnodevalue()))
        {
            cout<<"Duplicate"<<*value<<"\n";
            delete nodecounter;
        }
        else if(*value<*(p->getnodevalue()))
            p->newleft(nodecounter);
        else
            p->newright(nodecounter);
    };


    private:
        Tree* tree;
        node* leftnode;
        node* rightnode;
};


int main(int argc, char* argv[])
 {
          int newtree[5]={0,45,67,34,24};
          node<int>* node1= new node<int>();
          node1->newnode(&newtree[0]);

    for(int i=1; newtree[i]>0; i++)
    {
      node1->insert(node1, &newtree[i]);
    };  
    return 0;
 }

我不明白这是什么问题,我以前从未遇到过这种错误。是编码问题还是其他问题?非常感谢一些见解

链接器抱怨缺少析构函数定义。

改变

node();

~node() {}

或者,如果您使用的是 c++11

~node() = default;

您还需要使用 delete 语句释放析构函数中使用的内存。