[Error] ld returned 1 exit status 怎么解决

#include
#include
using namespace std;
class tree
{
public:
tree(int n,const char *p,double s)
{
name=new char[10];
name=p;
num=n;
score=s;
cout<<"tree constructor.."<<endl;
}
~tree()
{
delete []name;
cout<<"destructor.."<<endl;
}
tree()
{
}
private:
int num;
const char *name;
double score;
};
int main()
{
tree pomegranate(5,"guava",59);
//tree guava(pomegranate);
return 0;
}

你这个程序是程序退出析构导致的错误。
既然用new了,就要用strcpy才行,而且要去掉const

 #include<iostream>
#include<cstring>
using namespace std;
class tree
{
public:
    tree(int n,const char *p,double s)
    {
        name=new char[10];
        strcpy(name, p);
        num=n;
        score=s;
        cout<<"tree constructor.."<<endl;
    }
    ~tree()
    {
        delete []name;
        cout<<"destructor.."<<endl;
    }
    tree()
    {
    }
private:
    int num;
    char *name;
    double score;
};
int main()
{
    tree pomegranate(5,"guava",59);
    //tree  guava(pomegranate);
    return 0;
}