Можно ли присвоить unique_ptr> значение другого вектора?

Есть код

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector<int> prices{7,1,5,3,6,4};

    auto psorted {make_unique<vector<int>>()};
    *psorted = sort(prices.begin(), prices.end(), greater<int>());
    if(prices == *psorted)
        return 0;
    else
        psorted.reset();
        
    return -1;
}

Суть которого в том, что если вектор prices отсортирован в убывающем порядке, то возвращается 0, иначе удаляется psorted и возвращается -1. Для проверки надо создать еще один отсортированный вектор и сравнить их, но вектору psorted не получается присвоить значение вектора sort(prices.begin(), prices.end(), greater<int>())

Например при vector<int> prices{7,1,5,3,6,4} возвращается -1

А при vector<int> prices{7,6,4,3,1} возвращается 0

Ошибка "отсутствует оператор =, соответствующий этим операндам", в строке *psorted = sort(prices.begin(), prices.end(), greater<int>());


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