foo.cc: In function ‘int main()’:
foo.cc:11:20: error: no match for ‘operator+’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘int’)
11 | reverse(a,a+al);reverse(b,b+bl);
| ~^~~
| | |
| | int
| std::string {aka std::__cxx11::basic_string<char>}
foo.cc:11:20: note: there are 14 candidates
11 | reverse(a,a+al);reverse(b,b+bl);
| ~^~~
In file included from /nix/gcc/include/c++/15.3.0/string:50,
from /nix/gcc/include/c++/15.3.0/bits/locale_classes.h:42,
from /nix/gcc/include/c++/15.3.0/bits/ios_base.h:43,
from /nix/gcc/include/c++/15.3.0/ios:46,
from /nix/gcc/include/c++/15.3.0/bits/ostream.h:43,
from /nix/gcc/include/c++/15.3.0/ostream:42,
from /nix/gcc/include/c++/15.3.0/iostream:43,
from foo.cc:1:
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:629:5: note: candidate 1: ‘template<class _Iterator> std::reverse_iterator<_Iterator> std::operator+(typename reverse_iterator<_Iterator>::difference_type, const reverse_iterator<_Iterator>&)’
629 | operator+(typename reverse_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:629:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const std::reverse_iterator<_Iterator>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:1793:5: note: candidate 2: ‘template<class _Iterator> std::move_iterator<_IteratorL> std::operator+(typename move_iterator<_IteratorL>::difference_type, const move_iterator<_IteratorL>&)’
1793 | operator+(typename move_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:1793:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const std::move_iterator<_IteratorL>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
In file included from /nix/gcc/include/c++/15.3.0/string:56:
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3838:5: note: candidate 3: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3838 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3838:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3856:5: note: candidate 4: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3856 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3856:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const _CharT*’ and ‘std::__cxx11::basic_string<char>’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3875:5: note: candidate 5: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3875 | operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3875:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3892:5: note: candidate 6: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’
3892 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3892:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const _CharT*’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3910:5: note: candidate 7: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, _CharT)’
3910 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3910:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘int’)
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3922:5: note: candidate 8: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3922 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3922:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3929:5: note: candidate 9: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3929 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3929:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3936:5: note: candidate 10: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3936 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3936:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3959:5: note: candidate 11: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3959 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3959:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const _CharT*’ and ‘std::__cxx11::basic_string<char>’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3966:5: note: candidate 12: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3966 | operator+(_CharT __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3966:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3973:5: note: candidate 13: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _CharT*)’
3973 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3973:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: mismatched types ‘const _CharT*’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3980:5: note: candidate 14: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, _CharT)’
3980 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3980:5: note: template argument deduction/substitution failed:
foo.cc:11:21: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘int’)
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
foo.cc:11:9: error: ‘reverse’ was not declared in this scope
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~~~~~~
foo.cc:11:36: error: no match for ‘operator+’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘int’)
11 | reverse(a,a+al);reverse(b,b+bl);
| ~^~~
| | |
| | int
| std::string {aka std::__cxx11::basic_string<char>}
foo.cc:11:36: note: there are 14 candidates
11 | reverse(a,a+al);reverse(b,b+bl);
| ~^~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:629:5: note: candidate 1: ‘template<class _Iterator> std::reverse_iterator<_Iterator> std::operator+(typename reverse_iterator<_Iterator>::difference_type, const reverse_iterator<_Iterator>&)’
629 | operator+(typename reverse_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:629:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const std::reverse_iterator<_Iterator>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:1793:5: note: candidate 2: ‘template<class _Iterator> std::move_iterator<_IteratorL> std::operator+(typename move_iterator<_IteratorL>::difference_type, const move_iterator<_IteratorL>&)’
1793 | operator+(typename move_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:1793:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const std::move_iterator<_IteratorL>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3838:5: note: candidate 3: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3838 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3838:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3856:5: note: candidate 4: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3856 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3856:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const _CharT*’ and ‘std::__cxx11::basic_string<char>’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3875:5: note: candidate 5: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3875 | operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3875:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3892:5: note: candidate 6: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’
3892 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3892:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const _CharT*’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3910:5: note: candidate 7: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, _CharT)’
3910 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3910:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘int’)
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3922:5: note: candidate 8: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3922 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3922:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3929:5: note: candidate 9: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3929 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3929:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3936:5: note: candidate 10: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3936 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3936:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3959:5: note: candidate 11: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3959 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3959:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const _CharT*’ and ‘std::__cxx11::basic_string<char>’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3966:5: note: candidate 12: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3966 | operator+(_CharT __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3966:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3973:5: note: candidate 13: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _CharT*)’
3973 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3973:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: mismatched types ‘const _CharT*’ and ‘int’
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3980:5: note: candidate 14: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, _CharT)’
3980 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3980:5: note: template argument deduction/substitution failed:
foo.cc:11:37: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘int’)
11 | reverse(a,a+al);reverse(b,b+bl);
| ^~
foo.cc:26:20: error: no match for ‘operator+’ (operand types are ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} and ‘int’)
26 | reverse(c,c+cl);
| ~^~~
| | |
| | int
| std::string {aka std::__cxx11::basic_string<char>}
foo.cc:26:20: note: there are 14 candidates
26 | reverse(c,c+cl);
| ~^~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:629:5: note: candidate 1: ‘template<class _Iterator> std::reverse_iterator<_Iterator> std::operator+(typename reverse_iterator<_Iterator>::difference_type, const reverse_iterator<_Iterator>&)’
629 | operator+(typename reverse_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:629:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const std::reverse_iterator<_Iterator>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:1793:5: note: candidate 2: ‘template<class _Iterator> std::move_iterator<_IteratorL> std::operator+(typename move_iterator<_IteratorL>::difference_type, const move_iterator<_IteratorL>&)’
1793 | operator+(typename move_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/stl_iterator.h:1793:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const std::move_iterator<_IteratorL>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3838:5: note: candidate 3: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3838 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3838:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3856:5: note: candidate 4: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3856 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3856:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const _CharT*’ and ‘std::__cxx11::basic_string<char>’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3875:5: note: candidate 5: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3875 | operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3875:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3892:5: note: candidate 6: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’
3892 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3892:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const _CharT*’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3910:5: note: candidate 7: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, _CharT)’
3910 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3910:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘int’)
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3922:5: note: candidate 8: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const __cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
3922 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3922:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3929:5: note: candidate 9: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Alloc>&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3929 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3929:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3936:5: note: candidate 10: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3936 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3936:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3959:5: note: candidate 11: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3959 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3959:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const _CharT*’ and ‘std::__cxx11::basic_string<char>’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3966:5: note: candidate 12: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, __cxx11::basic_string<_CharT, _Traits, _Alloc>&&)’
3966 | operator+(_CharT __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3966:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3973:5: note: candidate 13: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _CharT*)’
3973 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3973:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: mismatched types ‘const _CharT*’ and ‘int’
26 | reverse(c,c+cl);
| ^~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3980:5: note: candidate 14: ‘template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, _CharT)’
3980 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/nix/gcc/include/c++/15.3.0/bits/basic_string.h:3980:5: note: template argument deduction/substitution failed:
foo.cc:26:21: note: deduced conflicting types for parameter ‘_CharT’ (‘char’ and ‘int’)
26 | reverse(c,c+cl);
| ^~
foo.cc:30:12: error: unable to find numeric literal operator ‘operator"";’
30 | return 0;
| ^~~
foo.cc:30:12: note: use ‘-fext-numeric-literals’ to enable more built-in suffixes
foo.cc:30:15: error: expected ‘;’ before ‘}’ token
30 | return 0;
| ^
| ;
31 | }
| ~