Hash () функция по умолчанию для создания хэшей элементов вашего набора не знает, как обращаться со всем набором как с элементом. Создайте хеш-функцию, которая создает уникальное значение для каждого уникального набора, и вам хорошо идти.
Это конструктор для unordered_set
explicit unordered_set( size_type bucket_count = /*implementation-defined*/,
const Hash& hash = Hash(),
const KeyEqual& equal = KeyEqual(),
const Allocator& alloc = Allocator() );
http: //en.cppreference.com/w/cpp/container/unordered_set/unordered_set
Возможно, самая простая вещь для вас - создать хеш-функцию для вашего unordered_set
unsigned int my_hash(std::unordered_set& element)
{
for( e : element )
{
some sort of math to create a unique hash for every unique set
}
}
edit: как видно из другого ответа, который я полностью забыл, функция хэширования должна находиться внутри объекта Hash. По крайней мере, согласно конструктору, который я вставил в свой ответ.