prog.cpp:43:31: error: type 'std::set<StringInt, std::less<std::string> >' (aka 'set<StringInt, less<basic_string<char> > >') does not provide a subscript operator
std::cout << string_sorter[0] << std::endl;
~~~~~~~~~~~~~^~
prog.cpp:44:31: error: type 'std::set<StringInt, std::less<std::string> >' (aka 'set<StringInt, less<basic_string<char> > >') does not provide a subscript operator
std::cout << string_sorter[1] << std::endl;
~~~~~~~~~~~~~^~
prog.cpp:45:31: error: type 'std::set<StringInt, std::less<std::string> >' (aka 'set<StringInt, less<basic_string<char> > >') does not provide a subscript operator
std::cout << string_sorter[2] << std::endl;
~~~~~~~~~~~~~^~
prog.cpp:46:28: error: type 'std::set<StringInt, std::less<int> >' does not provide a subscript operator
std::cout << int_sorter[0] << std::endl;
~~~~~~~~~~^~
prog.cpp:47:28: error: type 'std::set<StringInt, std::less<int> >' does not provide a subscript operator
std::cout << int_sorter[1] << std::endl;
~~~~~~~~~~^~
prog.cpp:48:28: error: type 'std::set<StringInt, std::less<int> >' does not provide a subscript operator
std::cout << int_sorter[2] << std::endl;
~~~~~~~~~~^~
In file included from prog.cpp:2:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/set:60:
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:1836:13: error: no matching function for call to object of type 'std::less<std::__cxx11::basic_string<char> >'
__comp = _M_impl._M_key_compare(__k, _S_key(__x));
^~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:2154:19: note: in instantiation of member function 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::_M_get_insert_unique_pos' requested here
auto __res = _M_get_insert_unique_pos(_S_key(__z));
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_set.h:434:16: note: in instantiation of function template specialization 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::_M_emplace_unique<StringInt &>' requested here
{ return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
^
prog.cpp:35:19: note: in instantiation of function template specialization 'std::set<StringInt, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::emplace<StringInt &>' requested here
string_sorter.emplace(a3);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h:385:7: note: candidate function not viable: no known conversion from 'const key_type' (aka 'const StringInt') to 'const std::__cxx11::basic_string<char>' for 1st argument
operator()(const _Tp& __x, const _Tp& __y) const
^
In file included from prog.cpp:2:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/set:60:
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:1847:11: error: no matching function for call to object of type 'std::less<std::__cxx11::basic_string<char> >'
if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
^~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:2154:19: note: in instantiation of member function 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::_M_get_insert_unique_pos' requested here
auto __res = _M_get_insert_unique_pos(_S_key(__z));
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_set.h:434:16: note: in instantiation of function template specialization 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::_M_emplace_unique<StringInt &>' requested here
{ return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
^
prog.cpp:35:19: note: in instantiation of function template specialization 'std::set<StringInt, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::emplace<StringInt &>' requested here
string_sorter.emplace(a3);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h:385:7: note: candidate function not viable: no known conversion from 'const StringInt' to 'const std::__cxx11::basic_string<char>' for 1st argument
operator()(const _Tp& __x, const _Tp& __y) const
^
In file included from prog.cpp:2:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/set:60:
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:2099:11: error: no matching function for call to object of type 'std::less<std::__cxx11::basic_string<char> >'
|| _M_impl._M_key_compare(_S_key(__z),
^~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:2156:20: note: in instantiation of member function 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::_M_insert_node' requested here
return _Res(_M_insert_node(__res.first, __res.second, __z), true);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_set.h:434:16: note: in instantiation of function template specialization 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::_M_emplace_unique<StringInt &>' requested here
{ return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
^
prog.cpp:35:19: note: in instantiation of function template specialization 'std::set<StringInt, std::less<std::__cxx11::basic_string<char> >, std::allocator<StringInt> >::emplace<StringInt &>' requested here
string_sorter.emplace(a3);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h:385:7: note: candidate function not viable: no known conversion from 'const StringInt' to 'const std::__cxx11::basic_string<char>' for 1st argument
operator()(const _Tp& __x, const _Tp& __y) const
^
In file included from prog.cpp:2:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/set:60:
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:1836:13: error: no matching function for call to object of type 'std::less<int>'
__comp = _M_impl._M_key_compare(__k, _S_key(__x));
^~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:2154:19: note: in instantiation of member function 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<int>, std::allocator<StringInt> >::_M_get_insert_unique_pos' requested here
auto __res = _M_get_insert_unique_pos(_S_key(__z));
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_set.h:434:16: note: in instantiation of function template specialization 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<int>, std::allocator<StringInt> >::_M_emplace_unique<StringInt &>' requested here
{ return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
^
prog.cpp:39:16: note: in instantiation of function template specialization 'std::set<StringInt, std::less<int>, std::allocator<StringInt> >::emplace<StringInt &>' requested here
int_sorter.emplace(a3);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h:385:7: note: candidate function not viable: no known conversion from 'const key_type' (aka 'const StringInt') to 'const int' for 1st argument
operator()(const _Tp& __x, const _Tp& __y) const
^
In file included from prog.cpp:2:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/set:60:
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:1847:11: error: no matching function for call to object of type 'std::less<int>'
if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
^~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h:385:7: note: candidate function not viable: no known conversion from 'const StringInt' to 'const int' for 1st argument
operator()(const _Tp& __x, const _Tp& __y) const
^
In file included from prog.cpp:2:
In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/set:60:
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:2099:11: error: no matching function for call to object of type 'std::less<int>'
|| _M_impl._M_key_compare(_S_key(__z),
^~~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h:2156:20: note: in instantiation of member function 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<int>, std::allocator<StringInt> >::_M_insert_node' requested here
return _Res(_M_insert_node(__res.first, __res.second, __z), true);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_set.h:434:16: note: in instantiation of function template specialization 'std::_Rb_tree<StringInt, StringInt, std::_Identity<StringInt>, std::less<int>, std::allocator<StringInt> >::_M_emplace_unique<StringInt &>' requested here
{ return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
^
prog.cpp:39:16: note: in instantiation of function template specialization 'std::set<StringInt, std::less<int>, std::allocator<StringInt> >::emplace<StringInt &>' requested here
int_sorter.emplace(a3);
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h:385:7: note: candidate function not viable: no known conversion from 'const StringInt' to 'const int' for 1st argument
operator()(const _Tp& __x, const _Tp& __y) const
^
12 errors generated.