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