prog.cpp: In function ‘int main()’:
prog.cpp:72:53: error: no matching function for call to ‘std::unordered_set<Movie>::insert(Movie) const’
itr->movies.insert(Movie("Stir Crazy", 1981));
^
In file included from /usr/include/c++/6/unordered_set:48:0,
from prog.cpp:3:
/usr/include/c++/6/bits/unordered_set.h:412:7: note: candidate: std::pair<typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__detail::__is_noexcept_hash<_Tp, _Hash> > >::value, true, true> >::iterator, bool> std::unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(const value_type&) [with _Value = Movie; _Hash = std::hash<Movie>; _Pred = std::equal_to<Movie>; _Alloc = std::allocator<Movie>; typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__detail::__is_noexcept_hash<_Tp, _Hash> > >::value, true, true> >::iterator = std::__detail::_Node_iterator<Movie, true, true>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::value_type = Movie] <near match>
insert(const value_type& __x)
^~~~~~
/usr/include/c++/6/bits/unordered_set.h:412:7: note: passing ‘const std::unordered_set<Movie>*’ as ‘this’ argument discards qualifiers
/usr/include/c++/6/bits/unordered_set.h:416:7: note: candidate: std::pair<typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__detail::__is_noexcept_hash<_Tp, _Hash> > >::value, true, true> >::iterator, bool> std::unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::value_type&&) [with _Value = Movie; _Hash = std::hash<Movie>; _Pred = std::equal_to<Movie>; _Alloc = std::allocator<Movie>; typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__detail::__is_noexcept_hash<_Tp, _Hash> > >::value, true, true> >::iterator = std::__detail::_Node_iterator<Movie, true, true>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::value_type = Movie] <near match>
insert(value_type&& __x)
^~~~~~
/usr/include/c++/6/bits/unordered_set.h:416:7: note: passing ‘const std::unordered_set<Movie>*’ as ‘this’ argument discards qualifiers
/usr/include/c++/6/bits/unordered_set.h:441:7: note: candidate: std::unordered_set<_Value, _Hash, _Pred, _Alloc>::iterator std::unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::const_iterator, const value_type&) [with _Value = Movie; _Hash = std::hash<Movie>; _Pred = std::equal_to<Movie>; _Alloc = std::allocator<Movie>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::iterator = std::__detail::_Node_iterator<Movie, true, true>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::const_iterator = std::__detail::_Node_const_iterator<Movie, true, true>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::value_type = Movie]
insert(const_iterator __hint, const value_type& __x)
^~~~~~
/usr/include/c++/6/bits/unordered_set.h:441:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/6/bits/unordered_set.h:445:7: note: candidate: std::unordered_set<_Value, _Hash, _Pred, _Alloc>::iterator std::unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::const_iterator, std::unordered_set<_Value, _Hash, _Pred, _Alloc>::value_type&&) [with _Value = Movie; _Hash = std::hash<Movie>; _Pred = std::equal_to<Movie>; _Alloc = std::allocator<Movie>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::iterator = std::__detail::_Node_iterator<Movie, true, true>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::const_iterator = std::__detail::_Node_const_iterator<Movie, true, true>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::value_type = Movie]
insert(const_iterator __hint, value_type&& __x)
^~~~~~
/usr/include/c++/6/bits/unordered_set.h:445:7: note: candidate expects 2 arguments, 1 provided
/usr/include/c++/6/bits/unordered_set.h:460:2: note: candidate: template<class _InputIterator> void std::unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Value = Movie; _Hash = std::hash<Movie>; _Pred = std::equal_to<Movie>; _Alloc = std::allocator<Movie>]
insert(_InputIterator __first, _InputIterator __last)
^~~~~~
/usr/include/c++/6/bits/unordered_set.h:460:2: note: template argument deduction/substitution failed:
prog.cpp:72:53: note: candidate expects 2 arguments, 1 provided
itr->movies.insert(Movie("Stir Crazy", 1981));
^
In file included from /usr/include/c++/6/unordered_set:48:0,
from prog.cpp:3:
/usr/include/c++/6/bits/unordered_set.h:471:7: note: candidate: void std::unordered_set<_Value, _Hash, _Pred, _Alloc>::insert(std::initializer_list<typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__detail::__is_noexcept_hash<_Tp, _Hash> > >::value, true, true> >::value_type>) [with _Value = Movie; _Hash = std::hash<Movie>; _Pred = std::equal_to<Movie>; _Alloc = std::allocator<Movie>; typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__detail::__is_noexcept_hash<_Tp, _Hash> > >::value, true, true> >::value_type = Movie]
insert(initializer_list<value_type> __l)
^~~~~~
/usr/include/c++/6/bits/unordered_set.h:471:7: note: no known conversion for argument 1 from ‘Movie’ to ‘std::initializer_list<Movie>’