Как изменить ссылки на объекты?

В классе находятся 2 указателя на объекты этого класса, чтобы построить дерево, требуется, чтобы в некоторых случаях они были nullptr. Возможно ли в будущем изменить на какой-то объект, например при добавлении элемента в дерево? По-разному пробовал, все время ошибка, что невозможно менять l-value.

class Node
{
private:

    int key;
    int height;
    Node* left;
    Node* right;


public:
    
    Node()
    {
        this->key = 0;
        this->left = nullptr;
        this->right = nullptr;
        this->height = 0;
    }

    Node(int key)
    {
        this->key = key;
        this->left = nullptr;
        this->right = nullptr;
        this->height = 1;
    }

    void insert(int k)
    {
        if (k < this->key)
        {
            if (this)
            {
                this->left->insert(k);
            }
            else
            {
                this->left = &Node(key);
            }
        }
        else
        {
            if (this)
            {
                this->right->insert(k);
            }
            else
            {
                this->right = &Node(key);
            }
        }
        this->balance();
    }
};

Ответы (0 шт):