+1  A: 
e.James
+1  A: 

Operator overloading doesn't really make sense here.

The member function

bool BST<DataType>::operator >(const int anotherId)const;

Basically means to compare a whole tree with an int, which is not what I think your goal was. You might want to ensure you have < defined for data type, and then also add to the node class something like

template<typename type>
friend bool operator>(const BST<type>::node&, BST<type>::const node&);

My two cents at least.

Flame