Можно ли присвоить 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>());