记录详情

Compile Error

foo.cc:1:1: error: 'include' does not name a type
 include<iostream>
 ^~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:62:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of symbol
   __is_null_pointer(std::nullptr_t)
                                   ^
/usr/include/c++/7/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)'
     __is_null_pointer(_Type)
     ^~~~~~~~~~~~~~~~~
/usr/include/c++/7/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std'
   __is_null_pointer(std::nullptr_t)
                          ^~~~~~~~~
In file included from /usr/include/c++/7/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/bits/stl_algobase.h:64,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/type_traits:362:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                               ^~~~~~
/usr/include/c++/7/type_traits:363:25: error: '_Size' was not declared in this scope
     struct is_array<_Tp[_Size]>
                         ^~~~~
/usr/include/c++/7/type_traits:363:31: error: template argument 1 is invalid
     struct is_array<_Tp[_Size]>
                               ^
/usr/include/c++/7/type_traits:561:42: error: 'nullptr_t' is not a member of 'std'
     struct __is_null_pointer_helper<std::nullptr_t>
                                          ^~~~~~~~~
/usr/include/c++/7/type_traits:561:42: error: 'nullptr_t' is not a member of 'std'
/usr/include/c++/7/type_traits:561:51: error: template argument 1 is invalid
     struct __is_null_pointer_helper<std::nullptr_t>
                                                   ^
/usr/include/c++/7/type_traits:1464:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, __alignof__(_Tp)> { };
                                     ^~~~~~
/usr/include/c++/7/type_traits:1464:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/type_traits:1464:61: error: template argument 1 is invalid
     : public integral_constant<std::size_t, __alignof__(_Tp)> { };
                                                             ^
/usr/include/c++/7/type_traits:1464:61: note: invalid template non-type parameter
/usr/include/c++/7/type_traits:1469:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 0> { };
                                     ^~~~~~
/usr/include/c++/7/type_traits:1469:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/type_traits:1469:46: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 0> { };
                                              ^
/usr/include/c++/7/type_traits:1469:46: note: invalid template non-type parameter
/usr/include/c++/7/type_traits:1471:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                               ^~~~~~
/usr/include/c++/7/type_traits:1472:21: error: '_Size' was not declared in this scope
     struct rank<_Tp[_Size]>
                     ^~~~~
/usr/include/c++/7/type_traits:1472:27: error: template argument 1 is invalid
     struct rank<_Tp[_Size]>
                           ^
/usr/include/c++/7/type_traits:1473:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                     ^~~~~~
/usr/include/c++/7/type_traits:1473:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/type_traits:1473:65: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                                                 ^
/usr/include/c++/7/type_traits:1473:65: note: invalid template non-type parameter
/usr/include/c++/7/type_traits:1477:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                     ^~~~~~
/usr/include/c++/7/type_traits:1477:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/type_traits:1477:65: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
                                                                 ^
/usr/include/c++/7/type_traits:1477:65: note: invalid template non-type parameter
/usr/include/c++/7/type_traits:1482:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 0> { };
                                     ^~~~~~
/usr/include/c++/7/type_traits:1482:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/type_traits:1482:46: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 0> { };
                                              ^
/usr/include/c++/7/type_traits:1482:46: note: invalid template non-type parameter
/usr/include/c++/7/type_traits:1484:47: error: 'std::size_t' has not been declared
   template<typename _Tp, unsigned _Uint, std::size_t _Size>
                                               ^~~~~~
/usr/include/c++/7/type_traits:1485:23: error: '_Size' was not declared in this scope
     struct extent<_Tp[_Size], _Uint>
                       ^~~~~
/usr/include/c++/7/type_traits:1485:36: error: template argument 1 is invalid
     struct extent<_Tp[_Size], _Uint>
                                    ^
/usr/include/c++/7/type_traits:1486:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t,
                                     ^~~~~~
/usr/include/c++/7/type_traits:1486:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/type_traits:1487:24: error: '_Size' was not declared in this scope
           _Uint == 0 ? _Size : extent<_Tp,
                        ^~~~~
/usr/include/c++/7/type_traits:1488:28: error: template argument 1 is invalid
           _Uint - 1>::value>
                            ^
/usr/include/c++/7/type_traits:1488:28: note: invalid template non-type parameter
/usr/include/c++/7/type_traits:1493:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t,
                                     ^~~~~~
/usr/include/c++/7/type_traits:1493:37: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/type_traits:1495:31: error: template argument 1 is invalid
              _Uint - 1>::value>
                               ^
/usr/include/c++/7/type_traits:1495:31: note: invalid template non-type parameter
/usr/include/c++/7/type_traits:1944:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                               ^~~~~~
/usr/include/c++/7/type_traits:1945:30: error: '_Size' was not declared in this scope
     struct remove_extent<_Tp[_Size]>
                              ^~~~~
/usr/include/c++/7/type_traits:1945:36: error: template argument 1 is invalid
     struct remove_extent<_Tp[_Size]>
                                    ^
/usr/include/c++/7/type_traits:1957:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Size>
                               ^~~~~~
/usr/include/c++/7/type_traits:1958:35: error: '_Size' was not declared in this scope
     struct remove_all_extents<_Tp[_Size]>
                                   ^~~~~
/usr/include/c++/7/type_traits:1958:41: error: template argument 1 is invalid
     struct remove_all_extents<_Tp[_Size]>
                                         ^
/usr/include/c++/7/type_traits:2016:17: error: 'std::size_t' has not been declared
   template<std::size_t _Len>
                 ^~~~~~
/usr/include/c++/7/type_traits:2021:23: error: '_Len' was not declared in this scope
  unsigned char __data[_Len];
                       ^~~~
/usr/include/c++/7/type_traits:2036:17: error: 'std::size_t' has not been declared
   template<std::size_t _Len, std::size_t _Align =
                 ^~~~~~
/usr/include/c++/7/type_traits:2036:35: error: 'std::size_t' has not been declared
   template<std::size_t _Len, std::size_t _Align =
                                   ^~~~~~
/usr/include/c++/7/type_traits:2037:48: error: '_Len' was not declared in this scope
     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
                                                ^~~~
/usr/include/c++/7/type_traits:2037:52: error: template argument 1 is invalid
     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
                                                    ^
/usr/include/c++/7/type_traits:2042:23: error: '_Len' was not declared in this scope
  unsigned char __data[_Len];
                       ^~~~
/usr/include/c++/7/type_traits:2043:37: error: '_Align' was not declared in this scope
  struct __attribute__((__aligned__((_Align)))) { } __align;
                                     ^~~~~~
/usr/include/c++/7/type_traits:2050:20: error: 'size_t' does not name a type; did you mean '__size_t'?
       static const size_t _S_alignment = 0;
                    ^~~~~~
                    __size_t
/usr/include/c++/7/type_traits:2051:20: error: 'size_t' does not name a type; did you mean '__size_t'?
       static const size_t _S_size = 0;
                    ^~~~~~
                    __size_t
/usr/include/c++/7/type_traits:2057:20: error: 'size_t' does not name a type; did you mean '__size_t'?
       static const size_t _S_alignment =
                    ^~~~~~
                    __size_t
/usr/include/c++/7/type_traits:2060:20: error: 'size_t' does not name a type; did you mean '__size_t'?
       static const size_t _S_size =
                    ^~~~~~
                    __size_t
/usr/include/c++/7/type_traits:2075:13: error: 'size_t' has not been declared
   template <size_t _Len, typename... _Types>
             ^~~~~~
/usr/include/c++/7/type_traits:2082:20: error: 'size_t' does not name a type; did you mean '__size_t'?
       static const size_t _S_len = _Len > __strictest::_S_size
                    ^~~~~~
                    __size_t
/usr/include/c++/7/type_traits:2086:20: error: 'size_t' does not name a type; did you mean '__size_t'?
       static const size_t alignment_value = __strictest::_S_alignment;
                    ^~~~~~
                    __size_t
/usr/include/c++/7/type_traits:2088:40: error: '_S_len' was not declared in this scope
       typedef typename aligned_storage<_S_len, alignment_value>::type type;
                                        ^~~~~~
/usr/include/c++/7/type_traits:2088:48: error: 'alignment_value' was not declared in this scope
       typedef typename aligned_storage<_S_len, alignment_value>::type type;
                                                ^~~~~~~~~~~~~~~
/usr/include/c++/7/type_traits:2088:48: note: suggested alternative: 'alignment_of'
       typedef typename aligned_storage<_S_len, alignment_value>::type type;
                                                ^~~~~~~~~~~~~~~
                                                alignment_of
/usr/include/c++/7/type_traits:2088:63: error: template argument 1 is invalid
       typedef typename aligned_storage<_S_len, alignment_value>::type type;
                                                               ^
/usr/include/c++/7/type_traits:2088:63: error: template argument 2 is invalid
/usr/include/c++/7/type_traits:2091:13: error: 'size_t' has not been declared
   template <size_t _Len, typename... _Types>
             ^~~~~~
/usr/include/c++/7/type_traits:2092:11: error: 'size_t' does not name a type; did you mean '__size_t'?
     const size_t aligned_union<_Len, _Types...>::alignment_value;
           ^~~~~~
           __size_t
/usr/include/c++/7/type_traits:2586:26: error: 'size_t' has not been declared
   template<typename _Tp, size_t _Nm>
                          ^~~~~~
/usr/include/c++/7/type_traits:2589:21: error: '_Nm' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                     ^~~
/usr/include/c++/7/type_traits:2589:24: error: 'template<class _Tp, <declaration error> > typename std::enable_if<std::__is_swappable<_Tp>::value>::type std::swap' conflicts with a previous declaration
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                        ^
/usr/include/c++/7/type_traits:2582:5: note: previous declaration 'typename std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type std::swap(_Tp&, _Tp&)'
     swap(_Tp&, _Tp&)
     ^~~~
/usr/include/c++/7/type_traits:2589:16: error: '__a' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                ^~~
/usr/include/c++/7/type_traits:2589:16: note: suggested alternative: '__N'
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                ^~~
                __N
/usr/include/c++/7/type_traits:2589:21: error: '_Nm' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                     ^~~
/usr/include/c++/7/type_traits:2589:33: error: '__b' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                                 ^~~
/usr/include/c++/7/type_traits:2589:33: note: suggested alternative: '__N'
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                                 ^~~
                                 __N
/usr/include/c++/7/type_traits:2589:38: error: '_Nm' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                                      ^~~
/usr/include/c++/7/type_traits:2590:5: error: expected ';' before 'noexcept'
     noexcept(__is_nothrow_swappable<_Tp>::value);
     ^~~~~~~~
In file included from /usr/include/c++/7/bits/stl_pair.h:59:0,
                 from /usr/include/c++/7/bits/stl_algobase.h:64,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/bits/move.h:206:26: error: 'size_t' has not been declared
   template<typename _Tp, size_t _Nm>
                          ^~~~~~
/usr/include/c++/7/bits/move.h:210:21: error: '_Nm' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                     ^~~
/usr/include/c++/7/bits/move.h:210:24: error: 'template<class _Tp, <declaration error> > typename std::enable_if<std::__is_swappable<_Tp>::value>::type std::swap' conflicts with a previous declaration
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                        ^
/usr/include/c++/7/bits/move.h:187:5: note: previous declaration 'typename std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type std::swap(_Tp&, _Tp&)'
     swap(_Tp& __a, _Tp& __b)
     ^~~~
/usr/include/c++/7/bits/move.h:210:16: error: '__a' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                ^~~
/usr/include/c++/7/bits/move.h:210:16: note: suggested alternative: '__N'
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                ^~~
                __N
/usr/include/c++/7/bits/move.h:210:21: error: '_Nm' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                     ^~~
/usr/include/c++/7/bits/move.h:210:33: error: '__b' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                                 ^~~
/usr/include/c++/7/bits/move.h:210:33: note: suggested alternative: '__N'
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                                 ^~~
                                 __N
/usr/include/c++/7/bits/move.h:210:38: error: '_Nm' was not declared in this scope
     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
                                      ^~~
/usr/include/c++/7/bits/move.h:211:5: error: expected ';' before 'noexcept'
     noexcept(__is_nothrow_swappable<_Tp>::value)
     ^~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/bits/stl_pair.h:86:17: error: 'std::size_t' has not been declared
   template<std::size_t...>
                 ^~~~~~
/usr/include/c++/7/bits/stl_pair.h:434:41: error: 'std::size_t' has not been declared
       template<typename... _Args1, std::size_t... _Indexes1,
                                         ^~~~~~
/usr/include/c++/7/bits/stl_pair.h:435:41: error: 'std::size_t' has not been declared
                typename... _Args2, std::size_t... _Indexes2>
                                         ^~~~~~
/usr/include/c++/7/bits/stl_pair.h:437:27: error: '_Indexes1' was not declared in this scope
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                           ^~~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:437:27: note: suggested alternative: '_Index_tuple'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                           ^~~~~~~~~
                           _Index_tuple
/usr/include/c++/7/bits/stl_pair.h:437:36: error: expected parameter pack before '...'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                    ^~~
/usr/include/c++/7/bits/stl_pair.h:437:39: error: template argument 1 is invalid
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                       ^
/usr/include/c++/7/bits/stl_pair.h:437:55: error: '_Indexes2' was not declared in this scope
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                       ^~~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:437:55: note: suggested alternative: '_Index_tuple'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                       ^~~~~~~~~
                                                       _Index_tuple
/usr/include/c++/7/bits/stl_pair.h:437:64: error: expected parameter pack before '...'
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                                ^~~
/usr/include/c++/7/bits/stl_pair.h:437:67: error: template argument 1 is invalid
              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
                                                                   ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:65:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/bits/stl_iterator_base_types.h:116:67: error: 'ptrdiff_t' does not name a type
   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
                                                                   ^~~~~~~~~
/usr/include/c++/7/bits/stl_iterator_base_types.h:182:15: error: 'ptrdiff_t' does not name a type
       typedef ptrdiff_t                   difference_type;
               ^~~~~~~~~
/usr/include/c++/7/bits/stl_iterator_base_types.h:193:15: error: 'ptrdiff_t' does not name a type
       typedef ptrdiff_t                   difference_type;
               ^~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:66:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/bits/stl_iterator_base_funcs.h:110:5: error: 'ptrdiff_t' does not name a type
     ptrdiff_t
     ^~~~~~~~~
/usr/include/c++/7/bits/stl_iterator_base_funcs.h:116:5: error: 'ptrdiff_t' does not name a type
     ptrdiff_t
     ^~~~~~~~~
In file included from /usr/include/c++/7/bits/stl_iterator.h:66:0,
                 from /usr/include/c++/7/bits/stl_algobase.h:67,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/bits/ptr_traits.h:104:20: error: 'ptrdiff_t' was not declared in this scope
  = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>;
                    ^~~~~~~~~
/usr/include/c++/7/bits/ptr_traits.h:104:54: error: template argument 1 is invalid
  = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>;
                                                      ^
/usr/include/c++/7/bits/ptr_traits.h:130:15: error: 'ptrdiff_t' does not name a type
       typedef ptrdiff_t difference_type;
               ^~~~~~~~~
In file included from /usr/include/c++/7/bits/char_traits.h:39:0,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/bits/stl_algobase.h: In static member function 'static _Tp* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(const _Tp*, const _Tp*, _Tp*)':
/usr/include/c++/7/bits/stl_algobase.h:366:10: error: 'ptrdiff_t' does not name a type
    const ptrdiff_t _Num = __last - __first;
          ^~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:367:8: error: '_Num' was not declared in this scope
    if (_Num)
        ^~~~
/usr/include/c++/7/bits/stl_algobase.h:367:8: note: suggested alternative: '_NEW'
    if (_Num)
        ^~~~
        _NEW
/usr/include/c++/7/bits/stl_algobase.h:369:22: error: '_Num' was not declared in this scope
    return __result + _Num;
                      ^~~~
/usr/include/c++/7/bits/stl_algobase.h:369:22: note: suggested alternative: '_NEW'
    return __result + _Num;
                      ^~~~
                      _NEW
/usr/include/c++/7/bits/stl_algobase.h: In static member function 'static _Tp* std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(const _Tp*, const _Tp*, _Tp*)':
/usr/include/c++/7/bits/stl_algobase.h:568:10: error: 'ptrdiff_t' does not name a type
    const ptrdiff_t _Num = __last - __first;
          ^~~~~~~~~
/usr/include/c++/7/bits/stl_algobase.h:569:8: error: '_Num' was not declared in this scope
    if (_Num)
        ^~~~
/usr/include/c++/7/bits/stl_algobase.h:569:8: note: suggested alternative: '_NEW'
    if (_Num)
        ^~~~
        _NEW
/usr/include/c++/7/bits/stl_algobase.h:571:22: error: '_Num' was not declared in this scope
    return __result - _Num;
                      ^~~~
/usr/include/c++/7/bits/stl_algobase.h:571:22: note: suggested alternative: '_NEW'
    return __result - _Num;
                      ^~~~
                      _NEW
/usr/include/c++/7/bits/stl_algobase.h: In function 'typename __gnu_cxx::__enable_if<std::__is_byte<_Tp>::__value, void>::__type std::__fill_a(_Tp*, _Tp*, const _Tp&)':
/usr/include/c++/7/bits/stl_algobase.h:706:11: error: expected primary-expression before 'const'
       if (const size_t __len = __last - __first)
           ^~~~~
/usr/include/c++/7/bits/stl_algobase.h:706:11: error: expected ')' before 'const'
/usr/include/c++/7/bits/stl_algobase.h:707:63: error: '__len' was not declared in this scope
  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
                                                               ^~~~~
/usr/include/c++/7/bits/stl_algobase.h: In static member function 'static bool std::__equal<true>::equal(const _Tp*, const _Tp*, const _Tp*)':
/usr/include/c++/7/bits/stl_algobase.h:813:8: error: expected primary-expression before 'const'
    if (const size_t __len = (__last1 - __first1))
        ^~~~~
/usr/include/c++/7/bits/stl_algobase.h:813:8: error: expected ')' before 'const'
/usr/include/c++/7/bits/stl_algobase.h:814:65: error: '__len' was not declared in this scope
      return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * __len);
                                                                 ^~~~~
/usr/include/c++/7/bits/stl_algobase.h: In static member function 'static bool std::__lexicographical_compare<true>::__lc(const _Tp*, const _Tp*, const _Up*, const _Up*)':
/usr/include/c++/7/bits/stl_algobase.h:917:10: error: 'size_t' does not name a type; did you mean '__size_t'?
    const size_t __len1 = __last1 - __first1;
          ^~~~~~
          __size_t
/usr/include/c++/7/bits/stl_algobase.h:918:10: error: 'size_t' does not name a type; did you mean '__size_t'?
    const size_t __len2 = __last2 - __first2;
          ^~~~~~
          __size_t
/usr/include/c++/7/bits/stl_algobase.h:919:8: error: expected primary-expression before 'const'
    if (const size_t __len = std::min(__len1, __len2))
        ^~~~~
/usr/include/c++/7/bits/stl_algobase.h:919:8: error: expected ')' before 'const'
/usr/include/c++/7/bits/stl_algobase.h:920:62: error: '__len' was not declared in this scope
      if (int __result = __builtin_memcmp(__first1, __first2, __len))
                                                              ^~~~~
/usr/include/c++/7/bits/stl_algobase.h:920:62: note: suggested alternative: '__lc'
      if (int __result = __builtin_memcmp(__first1, __first2, __len))
                                                              ^~~~~
                                                              __lc
/usr/include/c++/7/bits/stl_algobase.h:922:11: error: '__len1' was not declared in this scope
    return __len1 < __len2;
           ^~~~~~
/usr/include/c++/7/bits/stl_algobase.h:922:11: note: suggested alternative: '__lc'
    return __len1 < __len2;
           ^~~~~~
           __lc
/usr/include/c++/7/bits/stl_algobase.h:922:20: error: '__len2' was not declared in this scope
    return __len1 < __len2;
                    ^~~~~~
/usr/include/c++/7/bits/stl_algobase.h:922:20: note: suggested alternative: '__lc'
    return __len1 < __len2;
                    ^~~~~~
                    __lc
In file included from /usr/include/c++/7/bits/char_traits.h:40:0,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/include/c++/7/bits/postypes.h: At global scope:
/usr/include/c++/7/bits/postypes.h:98:11: error: 'ptrdiff_t' does not name a type
   typedef ptrdiff_t streamsize; // Signed integral type
           ^~~~~~~~~
In file included from /usr/include/c++/7/string:40:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/char_traits.h:108:66: error: 'std::size_t' has not been declared
       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
                                                                  ^~~~~~
/usr/include/c++/7/bits/char_traits.h:110:40: error: 'size_t' in namespace 'std' does not name a type
       static _GLIBCXX14_CONSTEXPR std::size_t
                                        ^~~~~~
/usr/include/c++/7/bits/char_traits.h:114:39: error: 'std::size_t' has not been declared
       find(const char_type* __s, std::size_t __n, const char_type& __a);
                                       ^~~~~~
/usr/include/c++/7/bits/char_traits.h:117:57: error: 'std::size_t' has not been declared
       move(char_type* __s1, const char_type* __s2, std::size_t __n);
                                                         ^~~~~~
/usr/include/c++/7/bits/char_traits.h:120:57: error: 'std::size_t' has not been declared
       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
                                                         ^~~~~~
/usr/include/c++/7/bits/char_traits.h:123:35: error: 'std::size_t' has not been declared
       assign(char_type* __s, std::size_t __n, char_type __a);
                                   ^~~~~~
/usr/include/c++/7/bits/char_traits.h:149:64: error: 'std::size_t' has not been declared
     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
                                                                ^~~~~~
/usr/include/c++/7/bits/char_traits.h: In static member function 'static int __gnu_cxx::char_traits<_CharT>::compare(const char_type*, const char_type*, int)':
/usr/include/c++/7/bits/char_traits.h:151:17: error: 'size_t' is not a member of 'std'
       for (std::size_t __i = 0; __i < __n; ++__i)
                 ^~~~~~
/usr/include/c++/7/bits/char_traits.h:151:17: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/string:40:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/char_traits.h:151:33: error: '__i' was not declared in this scope
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
/usr/include/c++/7/bits/char_traits.h:151:33: note: suggested alternative: '__n'
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
                                 __n
/usr/include/c++/7/bits/char_traits.h: At global scope:
/usr/include/c++/7/bits/char_traits.h:160:31: error: 'size_t' in namespace 'std' does not name a type
     _GLIBCXX14_CONSTEXPR std::size_t
                               ^~~~~~
/usr/include/c++/7/bits/char_traits.h:173:37: error: 'std::size_t' has not been declared
     find(const char_type* __s, std::size_t __n, const char_type& __a)
                                     ^~~~~~
/usr/include/c++/7/bits/char_traits.h: In static member function 'static const char_type* __gnu_cxx::char_traits<_CharT>::find(const char_type*, int, const char_type&)':
/usr/include/c++/7/bits/char_traits.h:175:17: error: 'size_t' is not a member of 'std'
       for (std::size_t __i = 0; __i < __n; ++__i)
                 ^~~~~~
/usr/include/c++/7/bits/char_traits.h:175:17: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/string:40:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/char_traits.h:175:33: error: '__i' was not declared in this scope
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
/usr/include/c++/7/bits/char_traits.h:175:33: note: suggested alternative: '__s'
       for (std::size_t __i = 0; __i < __n; ++__i)
                                 ^~~
                                 __s
/usr/include/c++/7/bits/char_traits.h: At global scope:
/usr/include/c++/7/bits/char_traits.h:184:55: error: 'std::size_t' has not been declared
     move(char_type* __s1, const char_type* __s2, std::size_t __n)
                                                       ^~~~~~
/usr/include/c++/7/bits/char_traits.h:193:55: error: 'std::size_t' has not been declared
     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
                                                       ^~~~~~
/usr/include/c++/7/bits/char_traits.h:203:33: error: 'std::size_t' has not been declared
     assign(char_type* __s, std::size_t __n, char_type __a)
                                 ^~~~~~
In file included from /usr/include/c++/7/ext/new_allocator.h:33:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/new:120:31: error: declaration of 'operator new' as non-function
 void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                               ^
/usr/include/c++/7/new:120:25: error: 'size_t' is not a member of 'std'
 void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                         ^~~~~~
/usr/include/c++/7/new:120:25: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/ext/new_allocator.h:33:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/new:122:33: error: declaration of 'operator new []' as non-function
 void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                                 ^
/usr/include/c++/7/new:122:27: error: 'size_t' is not a member of 'std'
 void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
                           ^~~~~~
/usr/include/c++/7/new:122:27: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/ext/new_allocator.h:33:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/new:134:25: error: declaration of 'operator new' as non-function
 void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                         ^~~~~~
/usr/include/c++/7/new:134:25: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/new:134:25: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/ext/new_allocator.h:33:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/new:134:33: error: expected primary-expression before 'const'
 void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                                 ^~~~~
/usr/include/c++/7/new:136:27: error: declaration of 'operator new []' as non-function
 void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                           ^~~~~~
/usr/include/c++/7/new:136:27: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/new:136:27: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/ext/new_allocator.h:33:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/new:136:35: error: expected primary-expression before 'const'
 void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
                                   ^~~~~
/usr/include/c++/7/new:168:32: error: declaration of 'operator new' as non-function
 inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                ^~~~~~
/usr/include/c++/7/new:168:32: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/new:168:32: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/ext/new_allocator.h:33:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/new:168:40: error: expected primary-expression before 'void'
 inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                        ^~~~
/usr/include/c++/7/new:170:34: error: declaration of 'operator new []' as non-function
 inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                  ^~~~~~
/usr/include/c++/7/new:170:34: error: 'size_t' is not a member of 'std'
/usr/include/c++/7/new:170:34: note: suggested alternative:
In file included from /usr/include/wchar.h:35:0,
                 from /usr/include/c++/7/cwchar:44,
                 from /usr/include/c++/7/bits/postypes.h:40,
                 from /usr/include/c++/7/bits/char_traits.h:40,
                 from /usr/include/c++/7/string:40,
                 from foo.cc:2:
/usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note:   'size_t'
 typedef __SIZE_TYPE__ size_t;
                       ^~~~~~
In file included from /usr/include/c++/7/ext/new_allocator.h:33:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/new:170:42: error: expected primary-expression before 'void'
 inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
                                          ^~~~
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from foo.cc:2:
/usr/include/c++/7/ext/new_allocator.h:44:14: error: 'std::size_t' has not been declared
   using std::size_t;
              ^~~~~~
/usr/include/c++/7/ext/new_allocator.h:45:14: error: 'std::ptrdiff_t' has not been declared
   using std::ptrdiff_t;
              ^~~~~~~~~
In file included from /usr/include/c++/7/string:44:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/ostream_insert.h:45:26: error: 'streamsize' has not been declared
       const _CharT* __s, streamsize __n)
                          ^~~~~~~~~~
/usr/include/c++/7/bits/ostream_insert.h: In function 'void std::__ostream_write(std::basic_ostream<_CharT, _Traits>&, const _CharT*, int)':
/usr/include/c++/7/bits/ostream_insert.h:50:13: error: 'streamsize' does not name a type; did you mean 'streambuf'?
       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
             ^~~~~~~~~~
             streambuf
/usr/include/c++/7/bits/ostream_insert.h:51:11: error: '__put' was not declared in this scope
       if (__put != __n)
           ^~~~~
/usr/include/c++/7/bits/ostream_insert.h:51:11: note: suggested alternative: '__out'
       if (__put != __n)
           ^~~~~
           __out
/usr/include/c++/7/bits/ostream_insert.h: At global scope:
/usr/include/c++/7/bits/ostream_insert.h:57:59: error: 'streamsize' has not been declared
     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
                                                           ^~~~~~~~~~
/usr/include/c++/7/bits/ostream_insert.h:77:27: error: 'streamsize' has not been declared
        const _CharT* __s, streamsize __n)
                           ^~~~~~~~~~
/usr/include/c++/7/bits/ostream_insert.h: In function 'std::basic_ostream<_CharT, _Traits>& std::__ostream_insert(std::basic_ostream<_CharT, _Traits>&, const _CharT*, int)':
/usr/include/c++/7/bits/ostream_insert.h:87:14: error: 'streamsize' does not name a type; did you mean 'streambuf'?
        const streamsize __w = __out.width();
              ^~~~~~~~~~
              streambuf
/usr/include/c++/7/bits/ostream_insert.h:88:12: error: '__w' was not declared in this scope
        if (__w > __n)
            ^~~
/usr/include/c++/7/bits/ostream_insert.h:88:12: note: suggested alternative: '__s'
        if (__w > __n)
            ^~~
            __s
/usr/include/c++/7/bits/ostream_insert.h: At global scope:
/usr/include/c++/7/bits/ostream_insert.h:118:68: error: 'streamsize' has not been declared
   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
                                                                    ^~~~~~~~~~
/usr/include/c++/7/bits/ostream_insert.h:122:11: error: 'streamsize' has not been declared
           streamsize);
           ^~~~~~~~~~
In file included from /usr/include/c++/7/ext/alloc_traits.h:36:0,
                 from /usr/include/c++/7/bits/basic_string.h:40,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/bits/alloc_traits.h:404:36: error: 'ptrdiff_t' in namespace 'std' does not name a type
       using difference_type = std::ptrdiff_t;
                                    ^~~~~~~~~
/usr/include/c++/7/bits/alloc_traits.h:407:30: error: 'size_t' in namespace 'std' does not name a type
       using size_type = std::size_t;
                              ^~~~~~
/usr/include/c++/7/bits/alloc_traits.h:435:37: error: 'size_type' has not been declared
       allocate(allocator_type& __a, size_type __n)
                                     ^~~~~~~~~
/usr/include/c++/7/bits/alloc_traits.h:449:37: error: 'size_type' has not been declared
       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
                                     ^~~~~~~~~
/usr/include/c++/7/bits/alloc_traits.h:461:52: error: 'size_type' has not been declared
       deallocate(allocator_type& __a, pointer __p, size_type __n)
                                                    ^~~~~~~~~
/usr/include/c++/7/bits/alloc_traits.h:494:14: error: 'size_type' does not name a type; did you mean 'true_type'?
       static size_type
              ^~~~~~~~~
              true_type
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:55:51: error: 'std::size_t' has not been declared
     const char* __name, const _CharT* __str, std::size_t* __idx,
                                                   ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:48: error: 'std::size_t' has not been declared
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
                                                ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:100:31: error: 'std::size_t' has not been declared
      __builtin_va_list), std::size_t __n,
                               ^~~~~~
In file included from /usr/include/c++/7/bits/basic_string.h:40:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/alloc_traits.h: In instantiation of 'struct __gnu_cxx::__alloc_traits<std::allocator<char> >':
/usr/include/c++/7/bits/basic_string.h:80:24:   required from 'class std::__cxx11::basic_string<char>'
/usr/include/c++/7/bits/basic_string.h:6372:68:   required from here
/usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named 'size_type' in 'struct std::allocator_traits<std::allocator<char> >'
     typedef typename _Base_type::size_type          size_type;
                                                     ^~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named 'difference_type' in 'struct std::allocator_traits<std::allocator<char> >'
     typedef typename _Base_type::difference_type    difference_type;
                                                     ^~~~~~~~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching '__gnu_cxx::__alloc_traits<std::allocator<char> >::_Base_type {aka std::allocator_traits<std::allocator<char> >}::max_size' in '__gnu_cxx::__alloc_traits<std::allocator<char> >::_Base_type {aka struct std::allocator_traits<std::allocator<char> >}'
     using _Base_type::max_size;
                       ^~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h: In function 'int std::__cxx11::stoi(const string&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6373:19: error: no matching function for call to '__stoa<long int, int>(long int (*)(const char*, char**, int) throw (), const char [5], const char*, size_t*&, int&)'
      __idx, __base); }
                   ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6373:19: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
      __idx, __base); }
                   ^
/usr/include/c++/7/bits/basic_string.h: In function 'long int std::__cxx11::stol(const string&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6378:22: error: no matching function for call to '__stoa(long int (*)(const char*, char**, int) throw (), const char [5], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6378:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'long unsigned int std::__cxx11::stoul(const string&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6383:22: error: no matching function for call to '__stoa(long unsigned int (*)(const char*, char**, int) throw (), const char [6], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6383:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'long long int std::__cxx11::stoll(const string&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6388:22: error: no matching function for call to '__stoa(long long int (*)(const char*, char**, int) throw (), const char [6], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6388:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'long long unsigned int std::__cxx11::stoull(const string&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6393:22: error: no matching function for call to '__stoa(long long unsigned int (*)(const char*, char**, int) throw (), const char [7], const char*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6393:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'float std::__cxx11::stof(const string&, size_t*)':
/usr/include/c++/7/bits/basic_string.h:6398:72: error: no matching function for call to '__stoa(float (*)(const char*, char**) throw (), const char [5], const char*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
                                                                        ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6398:72: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
                                                                        ^
/usr/include/c++/7/bits/basic_string.h: In function 'double std::__cxx11::stod(const string&, size_t*)':
/usr/include/c++/7/bits/basic_string.h:6402:72: error: no matching function for call to '__stoa(double (*)(const char*, char**) throw (), const char [5], const char*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
                                                                        ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6402:72: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
                                                                        ^
/usr/include/c++/7/bits/basic_string.h: In function 'long double std::__cxx11::stold(const string&, size_t*)':
/usr/include/c++/7/bits/basic_string.h:6406:74: error: no matching function for call to '__stoa(long double (*)(const char*, char**) throw (), const char [6], const char*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
                                                                          ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6406:74: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
                                                                          ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(int)':
/usr/include/c++/7/bits/basic_string.h:6416:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [3], int&)'
         "%d", __val); }
                    ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6416:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%d", __val); }
                    ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(unsigned int)':
/usr/include/c++/7/bits/basic_string.h:6422:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [3], unsigned int&)'
         "%u", __val); }
                    ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6422:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%u", __val); }
                    ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long int)':
/usr/include/c++/7/bits/basic_string.h:6427:21: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [4], long int&)'
         "%ld", __val); }
                     ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6427:21: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%ld", __val); }
                     ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long unsigned int)':
/usr/include/c++/7/bits/basic_string.h:6433:21: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [4], long unsigned int&)'
         "%lu", __val); }
                     ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6433:21: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%lu", __val); }
                     ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long long int)':
/usr/include/c++/7/bits/basic_string.h:6439:22: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [5], long long int&)'
         "%lld", __val); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6439:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%lld", __val); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long long unsigned int)':
/usr/include/c++/7/bits/basic_string.h:6445:22: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), long unsigned int, const char [5], long long unsigned int&)'
         "%llu", __val); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6445:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%llu", __val); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(float)':
/usr/include/c++/7/bits/basic_string.h:6453:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [3], float&)'
         "%f", __val);
                    ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6453:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%f", __val);
                    ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(double)':
/usr/include/c++/7/bits/basic_string.h:6462:20: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [3], double&)'
         "%f", __val);
                    ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6462:20: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%f", __val);
                    ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::string std::__cxx11::to_string(long double)':
/usr/include/c++/7/bits/basic_string.h:6471:21: error: no matching function for call to '__to_xstring<std::__cxx11::string>(int (*)(char*, size_t, const char*, __va_list_tag*) throw (), const int&, const char [4], long double&)'
         "%Lf", __val);
                     ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6471:21: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
         "%Lf", __val);
                     ^
In file included from /usr/include/c++/7/bits/basic_string.h:40:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/alloc_traits.h: In instantiation of 'struct __gnu_cxx::__alloc_traits<std::allocator<wchar_t> >':
/usr/include/c++/7/bits/basic_string.h:80:24:   required from 'class std::__cxx11::basic_string<wchar_t>'
/usr/include/c++/7/bits/basic_string.h:6478:68:   required from here
/usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named 'size_type' in 'struct std::allocator_traits<std::allocator<wchar_t> >'
     typedef typename _Base_type::size_type          size_type;
                                                     ^~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named 'difference_type' in 'struct std::allocator_traits<std::allocator<wchar_t> >'
     typedef typename _Base_type::difference_type    difference_type;
                                                     ^~~~~~~~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching '__gnu_cxx::__alloc_traits<std::allocator<wchar_t> >::_Base_type {aka std::allocator_traits<std::allocator<wchar_t> >}::max_size' in '__gnu_cxx::__alloc_traits<std::allocator<wchar_t> >::_Base_type {aka struct std::allocator_traits<std::allocator<wchar_t> >}'
     using _Base_type::max_size;
                       ^~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h: In function 'int std::__cxx11::stoi(const wstring&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6479:19: error: no matching function for call to '__stoa<long int, int>(long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [5], const wchar_t*, size_t*&, int&)'
      __idx, __base); }
                   ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6479:19: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
      __idx, __base); }
                   ^
/usr/include/c++/7/bits/basic_string.h: In function 'long int std::__cxx11::stol(const wstring&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6484:22: error: no matching function for call to '__stoa(long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [5], const wchar_t*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6484:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'long unsigned int std::__cxx11::stoul(const wstring&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6489:22: error: no matching function for call to '__stoa(long unsigned int (*)(const wchar_t*, wchar_t**, int) throw (), const char [6], const wchar_t*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6489:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'long long int std::__cxx11::stoll(const wstring&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6494:22: error: no matching function for call to '__stoa(long long int (*)(const wchar_t*, wchar_t**, int) throw (), const char [6], const wchar_t*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6494:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'long long unsigned int std::__cxx11::stoull(const wstring&, size_t*, int)':
/usr/include/c++/7/bits/basic_string.h:6499:22: error: no matching function for call to '__stoa(long long unsigned int (*)(const wchar_t*, wchar_t**, int) throw (), const char [7], const wchar_t*, size_t*&, int&)'
         __idx, __base); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6499:22: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
         __idx, __base); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'float std::__cxx11::stof(const wstring&, size_t*)':
/usr/include/c++/7/bits/basic_string.h:6504:72: error: no matching function for call to '__stoa(float (*)(const wchar_t*, wchar_t**) throw (), const char [5], const wchar_t*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
                                                                        ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6504:72: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
                                                                        ^
/usr/include/c++/7/bits/basic_string.h: In function 'double std::__cxx11::stod(const wstring&, size_t*)':
/usr/include/c++/7/bits/basic_string.h:6508:72: error: no matching function for call to '__stoa(double (*)(const wchar_t*, wchar_t**) throw (), const char [5], const wchar_t*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
                                                                        ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6508:72: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
                                                                        ^
/usr/include/c++/7/bits/basic_string.h: In function 'long double std::__cxx11::stold(const wstring&, size_t*)':
/usr/include/c++/7/bits/basic_string.h:6512:74: error: no matching function for call to '__stoa(long double (*)(const wchar_t*, wchar_t**) throw (), const char [6], const wchar_t*, size_t*&)'
   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
                                                                          ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:54:5: note: candidate: template<class _TRet, class _Ret, class _CharT, class ... _Base> _Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, int*, _Base ...)
     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
     ^~~~~~
/usr/include/c++/7/ext/string_conversions.h:54:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6512:74: note:   cannot convert '__idx' (type 'size_t* {aka long unsigned int*}') to type 'int*'
   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
                                                                          ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(int)':
/usr/include/c++/7/bits/basic_string.h:6519:22: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [3], int&)'
          L"%d", __val); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6519:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%d", __val); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(unsigned int)':
/usr/include/c++/7/bits/basic_string.h:6525:22: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [3], unsigned int&)'
          L"%u", __val); }
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6525:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%u", __val); }
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(long int)':
/usr/include/c++/7/bits/basic_string.h:6530:23: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [4], long int&)'
          L"%ld", __val); }
                       ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6530:23: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%ld", __val); }
                       ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(long unsigned int)':
/usr/include/c++/7/bits/basic_string.h:6536:23: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [4], long unsigned int&)'
          L"%lu", __val); }
                       ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6536:23: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%lu", __val); }
                       ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(long long int)':
/usr/include/c++/7/bits/basic_string.h:6542:24: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [5], long long int&)'
          L"%lld", __val); }
                        ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6542:24: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%lld", __val); }
                        ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(long long unsigned int)':
/usr/include/c++/7/bits/basic_string.h:6548:24: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), long unsigned int, const wchar_t [5], long long unsigned int&)'
          L"%llu", __val); }
                        ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6548:24: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%llu", __val); }
                        ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(float)':
/usr/include/c++/7/bits/basic_string.h:6556:22: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [3], float&)'
          L"%f", __val);
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6556:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%f", __val);
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(double)':
/usr/include/c++/7/bits/basic_string.h:6565:22: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [3], double&)'
          L"%f", __val);
                      ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6565:22: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%f", __val);
                      ^
/usr/include/c++/7/bits/basic_string.h: In function 'std::__cxx11::wstring std::__cxx11::to_wstring(long double)':
/usr/include/c++/7/bits/basic_string.h:6574:23: error: no matching function for call to '__to_xstring<std::__cxx11::wstring>(int (*)(wchar_t*, size_t, const wchar_t*, __va_list_tag*) throw (), const int&, const wchar_t [4], long double&)'
          L"%Lf", __val);
                       ^
In file included from /usr/include/c++/7/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/string_conversions.h:99:5: note: candidate: template<class _String, class _CharT> _String __gnu_cxx::__to_xstring(int (*)(_CharT*, int, const _CharT*, __va_list_tag*), int, const _CharT*, ...)
     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
     ^~~~~~~~~~~~
/usr/include/c++/7/ext/string_conversions.h:99:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h:6574:23: note:   mismatched types 'int' and 'size_t {aka long unsigned int}'
          L"%Lf", __val);
                       ^
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h: In member function 'size_t std::hash<std::__cxx11::basic_string<char> >::operator()(const string&) const':
/usr/include/c++/7/bits/basic_string.h:6603:54: error: 'const string {aka const class std::__cxx11::basic_string<char>}' has no member named 'length'
       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
                                                      ^~~~~~
/usr/include/c++/7/bits/basic_string.h: In member function 'size_t std::hash<std::__cxx11::basic_string<wchar_t> >::operator()(const wstring&) const':
/usr/include/c++/7/bits/basic_string.h:6619:42: error: 'const wstring {aka const class std::__cxx11::basic_string<wchar_t>}' has no member named 'length'
                                      __s.length() * sizeof(wchar_t)); }
                                          ^~~~~~
In file included from /usr/include/c++/7/bits/basic_string.h:40:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/alloc_traits.h: In instantiation of 'struct __gnu_cxx::__alloc_traits<std::allocator<char16_t> >':
/usr/include/c++/7/bits/basic_string.h:80:24:   required from 'class std::__cxx11::basic_string<char16_t>'
/usr/include/c++/7/bits/basic_string.h:6636:41:   required from here
/usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named 'size_type' in 'struct std::allocator_traits<std::allocator<char16_t> >'
     typedef typename _Base_type::size_type          size_type;
                                                     ^~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named 'difference_type' in 'struct std::allocator_traits<std::allocator<char16_t> >'
     typedef typename _Base_type::difference_type    difference_type;
                                                     ^~~~~~~~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching '__gnu_cxx::__alloc_traits<std::allocator<char16_t> >::_Base_type {aka std::allocator_traits<std::allocator<char16_t> >}::max_size' in '__gnu_cxx::__alloc_traits<std::allocator<char16_t> >::_Base_type {aka struct std::allocator_traits<std::allocator<char16_t> >}'
     using _Base_type::max_size;
                       ^~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h: In member function 'size_t std::hash<std::__cxx11::basic_string<char16_t> >::operator()(const u16string&) const':
/usr/include/c++/7/bits/basic_string.h:6637:42: error: 'const u16string {aka const class std::__cxx11::basic_string<char16_t>}' has no member named 'length'
                                      __s.length() * sizeof(char16_t)); }
                                          ^~~~~~
In file included from /usr/include/c++/7/bits/basic_string.h:40:0,
                 from /usr/include/c++/7/string:52,
                 from foo.cc:2:
/usr/include/c++/7/ext/alloc_traits.h: In instantiation of 'struct __gnu_cxx::__alloc_traits<std::allocator<char32_t> >':
/usr/include/c++/7/bits/basic_string.h:80:24:   required from 'class std::__cxx11::basic_string<char32_t>'
/usr/include/c++/7/bits/basic_string.h:6651:41:   required from here
/usr/include/c++/7/ext/alloc_traits.h:61:53: error: no type named 'size_type' in 'struct std::allocator_traits<std::allocator<char32_t> >'
     typedef typename _Base_type::size_type          size_type;
                                                     ^~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:62:53: error: no type named 'difference_type' in 'struct std::allocator_traits<std::allocator<char32_t> >'
     typedef typename _Base_type::difference_type    difference_type;
                                                     ^~~~~~~~~~~~~~~
/usr/include/c++/7/ext/alloc_traits.h:70:23: error: no members matching '__gnu_cxx::__alloc_traits<std::allocator<char32_t> >::_Base_type {aka std::allocator_traits<std::allocator<char32_t> >}::max_size' in '__gnu_cxx::__alloc_traits<std::allocator<char32_t> >::_Base_type {aka struct std::allocator_traits<std::allocator<char32_t> >}'
     using _Base_type::max_size;
                       ^~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h: In member function 'size_t std::hash<std::__cxx11::basic_string<char32_t> >::operator()(const u32string&) const':
/usr/include/c++/7/bits/basic_string.h:6652:42: error: 'const u32string {aka const class std::__cxx11::basic_string<char32_t>}' has no member named 'length'
                                      __s.length() * sizeof(char32_t)); }
                                          ^~~~~~
In file included from /usr/include/c++/7/string:53:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.tcc: In function 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)':
/usr/include/c++/7/bits/basic_string.tcc:1487:14: error: 'streamsize' does not name a type; did you mean 'streambuf'?
        const streamsize __w = __in.width();
              ^~~~~~~~~~
              streambuf
/usr/include/c++/7/bits/basic_string.tcc:1488:32: error: '__w' was not declared in this scope
        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
                                ^~~
/usr/include/c++/7/bits/basic_string.tcc:1488:32: note: suggested alternative: '__n'
        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
                                ^~~
                                __n
foo.cc: In function 'int main()':
foo.cc:7:10: error: 'cin' was not declared in this scope
  getline(cin,s);
          ^~~
foo.cc:7:10: note: suggested alternative: 'main'
  getline(cin,s);
          ^~~
          main
foo.cc:9:7: error: 'He' was not declared in this scope
  cin>>He>>XiaoMing;
       ^~
foo.cc:9:7: note: suggested alternative: 'HE'
  cin>>He>>XiaoMing;
       ^~
       HE
foo.cc:10:10: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'find'; did you mean 'end'?
  while(s.find(He)!=string::npos)
          ^~~~
          end
foo.cc:10:28: error: 'npos' is not a member of 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}'
  while(s.find(He)!=string::npos)
                            ^~~~
foo.cc:11:15: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'find'; did you mean 'end'?
   s.replace(s.find(He),He.size(),XiaoMing);
               ^~~~
               end
foo.cc:12:2: error: 'cout' was not declared in this scope
  cout<<s;
  ^~~~
In file included from /usr/include/c++/7/string:52:0,
                 from foo.cc:2:
/usr/include/c++/7/bits/basic_string.h: In instantiation of 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]':
foo.cc:6:9:   required from here
/usr/include/c++/7/bits/basic_string.h:423:22: error: '_M_set_length' was not declared in this scope
       { _M_set_length(0); }
         ~~~~~~~~~~~~~^~~
/usr/include/c++/7/bits/basic_string.h:423:22: note: suggested alternative: '__socklen_t'
       { _M_set_length(0); }
         ~~~~~~~~~~~~~^~~
         __socklen_t
/usr/include/c++/7/bits/basic_string.h: In instantiation of 'void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_dispose() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]':
/usr/include/c++/7/bits/basic_string.h:647:19:   required from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::~basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
foo.cc:6:9:   required from here
/usr/include/c++/7/bits/basic_string.h:221:15: error: using invalid field 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::<unnamed union>::_M_allocated_capacity'
    _M_destroy(_M_allocated_capacity);
               ^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:221:14: error: '_M_destroy' was not declared in this scope
    _M_destroy(_M_allocated_capacity);
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:221:14: note: suggested alternative: '_M_data'
    _M_destroy(_M_allocated_capacity);
    ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
    _M_data
自豪的采用HydroJudge(https://github.com/hydro-dev/Hydro)进行评测。

信息

递交者
类型
自测
题目
4-3 爱情故事
语言
C++
递交时间
2021-04-12 20:21:55
评测时间
2021-04-12 20:21:55
评测机
分数
0
总耗时
0ms
峰值内存
0 Bytes