howdy boyz n gals:

Ok here is my dilemea, i'm using my FIND function to INSERT a given data value after another given data value in a tree. Say I want 3 to be the right child of 8. So i have a find function that will find 8 in the tree, but when i compile it won't work. core dump each time. It says that it can't convert. I don't know what this means. I am pretty sure i'm returning a pointer to the node containing 8. here is my code for both the find and the insert functions.

thanks i fried my brain all nite and couldn't figure this out...Code://my public class function declarations: template <class Comparable> void BinarySearchTree<Comparable>::insert( const Comparable & x ) { insert( x, root ); } //the private version template <class Comparable> void BinarySearchTree<Comparable>:: insert( const Comparable & x, BinaryNode<Comparable> * & t ) const { if( t == NULL ) t = new BinaryNode<Comparable>( x, NULL, NULL ); else if( x < t->element ) insert( x, t->left ); else if( t->element < x ) insert( x, t->right ); else ; // Duplicate; do nothing } //private find function returning pointer to T template <class Comparable> BinaryNode<Comparable> * BinarySearchTree<Comparable>:: find( const Comparable & x, BinaryNode<Comparable> *t ) const { if( t == NULL ) return NULL; else if( x < t->element ) return find( x, t->left ); else if( t->element < x ) return find( x, t->right ); else return t; // Match } //public find function */ template <class Comparable> const Comparable & BinarySearchTree<Comparable>:: find( const Comparable & x ) const { return find( x, root ) ; } //THESE ARE MY ACTUAL CLASS DECLARATIONS public: const Comparable & find( const Comparable & x ) const; void insert( const Comparable & x); private: void insert( const Comparable & x, BinaryNode<Comparable> * & t ) const; BinaryNode<Comparable> * find( const Comparable & x, BinaryNode<Comparable> *t ) const;