The BSTs should use pointers, not pass the actual objects, or references to them. That way there is significantly less memory usage, and it can be easier to deal with (kinda). And, for future reference, the convention for passing a pointer by reference is *&, not the other way around. That should save you some trouble, trust me.
Also, possibly a separate issue, will there have to be a second BST class for comparison by secondary key? That's what it looks like to me. I mean, for now let's just focus on the one, cause it's a relatively small change, but I was just clarifying and ensuring consensus.
The BSTs should use pointers, not pass the actual objects, or references to them. That way there is significantly less memory usage, and it can be easier to deal with (kinda). And, for future reference, the convention for passing a pointer by reference is *&, not the other way around. That should save you some trouble, trust me.
Also, possibly a separate issue, will there have to be a second BST class for comparison by secondary key? That's what it looks like to me. I mean, for now let's just focus on the one, cause it's a relatively small change, but I was just clarifying and ensuring consensus.