Compile Error

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 | }
      | ~              

信息

递交者
类型
递交
题目
P3085 长正整数相加 pta202207T2
语言
C++
递交时间
2026-10-16 19:03:40
评测时间
2026-10-16 19:03:40
评测机
分数
0
总耗时
0ms
峰值内存
0 Bytes