У вас есть вызов insert
, который не имеет смысла (так как он не возвращает набор).Так что
std::vector<std::pair<int,std::set<int>>> DisjointSet;
for(auto i=0;i<10;++i)
DisjointSet.push_back( std::make_pair(i,std::set<int>().insert(i)));
Должно быть что-то вроде
std::vector<std::pair<int,std::set<int>>> DisjointSet;
std::set<int> temp;
for(auto i=0;i<10;++i)
{
temp.insert(i)
DisjointSet.push_back( std::make_pair(i,temp) );
temp.clear();
}
Немного более многословно, но это правильно.