Main.cc: In function ‘int main()’: Main.cc:17:23: error: cannot convert ‘std::map::iterator {aka std::_Rb_tree_iterator >}’ to ‘int’ in initialization for(int it=mp.begin();it::iterator {aka std::_Rb_tree_iterator >}’) for(int it=mp.begin();it constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) ^~~~~~~~ /usr/include/c++/7/bits/stl_pair.h:454:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::pair<_T1, _T2>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&) operator<(const reverse_iterator<_Iterator>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:308:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::reverse_iterator<_Iterator>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&) operator<(const reverse_iterator<_IteratorL>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:346:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::reverse_iterator<_Iterator>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&) operator<(const move_iterator<_IteratorL>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:1145:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::move_iterator<_IteratorL>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&) operator<(const move_iterator<_Iterator>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:1151:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::move_iterator<_IteratorL>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:6094:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*) operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:6107:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) operator<(const _CharT* __lhs, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.h:6119:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const _CharT*’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&) operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_tree.h:1543:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&) operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) ^~~~~~~~ /usr/include/c++/7/array:262:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::array<_Tp, _Nm>’ and ‘int’ for(int it=mp.begin();it constexpr bool std::operator<(const std::tuple<_Tps ...>&, const std::tuple<_Args2 ...>&) operator<(const tuple<_TElements...>& __t, ^~~~~~~~ /usr/include/c++/7/tuple:1410:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::tuple<_Tps ...>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&) operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_map.h:1411:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::map<_Key, _Tp, _Compare, _Alloc>’ and ‘int’ for(int it=mp.begin();it bool std::operator<(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&) operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, ^~~~~~~~ /usr/include/c++/7/bits/stl_multimap.h:1076:5: note: template argument deduction/substitution failed: Main.cc:17:35: note: mismatched types ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’ and ‘int’ for(int it=mp.begin();it