Мой код похож на тот, который указан в этой теме .
template<class T>
class BinarySearchTree
{
private:
struct tree_node
{
tree_node* left;
tree_node* right;
T data;
tree_node( const T & thedata, tree_node * l = NULL, tree_node * r = NULL )
: data( thedata ), left( l ), right( r ) { }
};
tree_node* root;
public:
BinarySearchTree()
{
root = NULL;
}
}
В моей основной программе это необходимо:
У меня есть двадеревья:
BinarySearchTree<T> tree1;
BinarySearchTree<T> tree2;
Мне нужно создать новое дерево с:
корнем в качестве объекта T и left = tree1 и right = tree2;
Для этогоЯ пытался добавить этот конструктор:
BinarySearchTree(const T& x, tree_node* l, tree_node* r);
и пытался позвонить с основного:
BinarySearchTree<T> newTree(T object,tree1,tree2);
Я понимаю, что это не сработает, но что мне делать?
Ошибка компиляции :
Ошибка C2664: 'BinarySearchTree :: BinarySearchTree (const T &, BinarySearchTree :: tree_node *, BinarySearchTree :: tree_node *)': невозможно преобразовать параметр 2 из 'BinarySearchTree* 'to' BinarySearchTree :: tree_node * '