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