I'm trying to merge two linked lists, and I can get it to compile but there are run time errors where my program crashes. I don't get what is happening to where my program dies. I thought I looked over everything, but it might help to have someone else look over it too. I even commented everything out of the function Sum() so it was completely empty except for the return ret; (in hopes or narrowing the source down) and i still got a run time error, i have to be missing something simple. I did some searching but I only found mergesort() functions for things containing one element, and not multiple, or even containing a structure within the class. Anyone see something wrong? If you want to see the member functions just ask.

Code:
//add two linked classes POLY
POLY Sum(POLY one, POLY two)
{
    POLY ret;
    int deg1, deg2, high;
    double co1,co2;
    
    deg1 = one.degree();
    deg2 = two.degree();
    
    if(deg1 >= deg2){
        high = deg1;
        ret.ChangeDegree(deg1,0);
        ret.changecoefficient(one.coefficient(one.degree()),deg1);
    }
    else{
        high = deg2;
        ret.ChangeDegree(deg2,0);
        ret.changecoefficient(two.coefficient(two.degree()),deg2);
    }
    high--;
    
    for(high; high >= 0; high--){
        ret.append(one.coefficient(high)+two.coefficient(high),high);
    }
    return ret;  
}



class POLY //begin class POLY
{   
    private:
        struct node //begin struct node
        {
            int pow; //power
            double coeff; //coefficient
            node *link; //link
        }*t; //end struct node, node t
    public:
        POLY(); //default constructor
        POLY(const POLY&); //copy constructor
        ~POLY(); //destructor
        int degree(); //get highest degree
        void print(); //print polynomial
        double coefficient(int); //get coefficient of specified term
        void changecoefficient(double, int);
        void mult(double); //multiply polynomial by a constant
        
        void ChangeDegree(int,int); //change an exponent degree from one to another
        void append(double,int); //add another link to the list
}; //end class POLY