Ошибка "Вызов неявно удаленного конструктора копии 'std :: unique_ptr <TreeNode>'" - PullRequest
0 голосов
/ 05 мая 2019

У меня есть очередь с приоритетами:

            std::priority_queue<std::unique_ptr<TreeNode>,
                                std::vector<std::unique_ptr<TreeNode>>,
                                decltype(comp)> MinHeap(comp);

И я хочу взять из него два верхних элемента и вставить новый элемент:

        std::unique_ptr<TreeNode> l(std::move(MinHeap.top()));
        MinHeap.pop();

        std::unique_ptr<TreeNode> r(std::move(MinHeap.top()));
        MinHeap.pop();

        MinHeap.push(std::make_unique<TreeNode>(TreeNode(' ', l->_freq + r->_freq, std::move(l), std::move(r), false)));

Здесь у меня проблема с

std::unique_ptr<TreeNode> l(std::move(MinHeap.top()));

Clion говорит: "Вызовите неявно удаленный конструктор копирования 'std :: unique_ptr'". Подскажите, пожалуйста, как это исправить?

...