/ Vijos /

记录详情

Compile Error

foo.cc:1:2: error: stray '#' in program
 *#include <iostream>
  ^
foo.cc:1:11: error: expected constructor, destructor, or type conversion before '<' token
 *#include <iostream>
           ^
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/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/move.h:54:0,
                 from /usr/include/c++/7/bits/stl_pair.h:59,
                 from /usr/include/c++/7/utility:70,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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;
                                     ^~~~~~
In file included from /usr/include/c++/7/utility:70:0,
                 from /usr/include/c++/7/algorithm:60,
                 from foo.cc:3:
/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/algorithm:60:0,
                 from foo.cc:3:
/usr/include/c++/7/utility:128:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Tp>
                 ^~~~~~
/usr/include/c++/7/utility:129:12: error: no default argument for '_Tp'
     struct tuple_element;
            ^~~~~~~~~~~~~
/usr/include/c++/7/utility:132:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Tp>
                 ^~~~~~
/usr/include/c++/7/utility:133:54: error: '__i' was not declared in this scope
     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
                                                      ^~~
/usr/include/c++/7/utility:133:54: note: suggested alternative: '__N'
     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
                                                      ^~~
                                                      __N
/usr/include/c++/7/utility:133:62: error: template argument 1 is invalid
     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
                                                              ^
/usr/include/c++/7/utility:135:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Tp>
                 ^~~~~~
/usr/include/c++/7/utility:136:26: error: '__i' was not declared in this scope
     struct tuple_element<__i, const _Tp>
                          ^~~
/usr/include/c++/7/utility:136:26: note: suggested alternative: '__N'
     struct tuple_element<__i, const _Tp>
                          ^~~
                          __N
/usr/include/c++/7/utility:136:40: error: template argument 1 is invalid
     struct tuple_element<__i, const _Tp>
                                        ^
/usr/include/c++/7/utility:141:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Tp>
                 ^~~~~~
/usr/include/c++/7/utility:142:26: error: '__i' was not declared in this scope
     struct tuple_element<__i, volatile _Tp>
                          ^~~
/usr/include/c++/7/utility:142:26: note: suggested alternative: '__N'
     struct tuple_element<__i, volatile _Tp>
                          ^~~
                          __N
/usr/include/c++/7/utility:142:43: error: template argument 1 is invalid
     struct tuple_element<__i, volatile _Tp>
                                           ^
/usr/include/c++/7/utility:147:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Tp>
                 ^~~~~~
/usr/include/c++/7/utility:148:26: error: '__i' was not declared in this scope
     struct tuple_element<__i, const volatile _Tp>
                          ^~~
/usr/include/c++/7/utility:148:26: note: suggested alternative: '__N'
     struct tuple_element<__i, const volatile _Tp>
                          ^~~
                          __N
/usr/include/c++/7/utility:148:49: error: template argument 1 is invalid
     struct tuple_element<__i, const volatile _Tp>
                                                 ^
/usr/include/c++/7/utility:170:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 2> { };
                                     ^~~~~~
/usr/include/c++/7/utility:170:37: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/algorithm:60:0,
                 from foo.cc:3:
/usr/include/c++/7/utility:170:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, 2> { };
                                     ^~~~~~
/usr/include/c++/7/utility:170:37: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/algorithm:60:0,
                 from foo.cc:3:
/usr/include/c++/7/utility:170:46: error: template argument 1 is invalid
     : public integral_constant<std::size_t, 2> { };
                                              ^
/usr/include/c++/7/utility:170:46: note: invalid template non-type parameter
/usr/include/c++/7/utility:182:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int>
                 ^~~~~~
/usr/include/c++/7/utility:223:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, class _Tp1, class _Tp2>
                 ^~~~~~
/usr/include/c++/7/utility:224:38: error: '_Int' was not declared in this scope
     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
                                      ^~~~
/usr/include/c++/7/utility:224:38: note: suggested alternative: 'int'
     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
                                      ^~~~
                                      int
/usr/include/c++/7/utility:224:64: error: template argument 1 is invalid
     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
                                                                ^~
/usr/include/c++/7/utility: In function 'constexpr int& std::get(std::pair<_Tp1, _Tp2>&)':
/usr/include/c++/7/utility:226:25: error: '_Int' was not declared in this scope
     { return __pair_get<_Int>::__get(__in); }
                         ^~~~
/usr/include/c++/7/utility:226:25: note: suggested alternative: 'int'
     { return __pair_get<_Int>::__get(__in); }
                         ^~~~
                         int
/usr/include/c++/7/utility:226:29: error: template argument 1 is invalid
     { return __pair_get<_Int>::__get(__in); }
                             ^
/usr/include/c++/7/utility: At global scope:
/usr/include/c++/7/utility:228:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, class _Tp1, class _Tp2>
                 ^~~~~~
/usr/include/c++/7/utility:229:38: error: '_Int' was not declared in this scope
     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
                                      ^~~~
/usr/include/c++/7/utility:229:38: note: suggested alternative: 'int'
     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
                                      ^~~~
                                      int
/usr/include/c++/7/utility:229:64: error: template argument 1 is invalid
     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
                                                                ^~
/usr/include/c++/7/utility: In function 'constexpr int&& std::get(std::pair<_Tp1, _Tp2>&&)':
/usr/include/c++/7/utility:231:25: error: '_Int' was not declared in this scope
     { return __pair_get<_Int>::__move_get(std::move(__in)); }
                         ^~~~
/usr/include/c++/7/utility:231:25: note: suggested alternative: 'int'
     { return __pair_get<_Int>::__move_get(std::move(__in)); }
                         ^~~~
                         int
/usr/include/c++/7/utility:231:29: error: template argument 1 is invalid
     { return __pair_get<_Int>::__move_get(std::move(__in)); }
                             ^
/usr/include/c++/7/utility: At global scope:
/usr/include/c++/7/utility:233:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, class _Tp1, class _Tp2>
                 ^~~~~~
/usr/include/c++/7/utility:234:44: error: '_Int' was not declared in this scope
     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
                                            ^~~~
/usr/include/c++/7/utility:234:44: note: suggested alternative: 'int'
     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
                                            ^~~~
                                            int
/usr/include/c++/7/utility:234:70: error: template argument 1 is invalid
     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
                                                                      ^~
/usr/include/c++/7/utility: In function 'constexpr const int& std::get(const std::pair<_Tp1, _Tp2>&)':
/usr/include/c++/7/utility:236:25: error: '_Int' was not declared in this scope
     { return __pair_get<_Int>::__const_get(__in); }
                         ^~~~
/usr/include/c++/7/utility:236:25: note: suggested alternative: 'int'
     { return __pair_get<_Int>::__const_get(__in); }
                         ^~~~
                         int
/usr/include/c++/7/utility:236:29: error: template argument 1 is invalid
     { return __pair_get<_Int>::__const_get(__in); }
                             ^
/usr/include/c++/7/utility: At global scope:
/usr/include/c++/7/utility:289:43: note: invalid template non-type parameter
     struct _Itup_cat<_Index_tuple<_Ind1...>, _Index_tuple<_Ind2...>>
                                           ^
/usr/include/c++/7/utility:289:64: note: invalid template non-type parameter
     struct _Itup_cat<_Index_tuple<_Ind1...>, _Index_tuple<_Ind2...>>
                                                                ^~~
/usr/include/c++/7/utility:289:67: error: template argument 1 is invalid
     struct _Itup_cat<_Index_tuple<_Ind1...>, _Index_tuple<_Ind2...>>
                                                                   ^~
/usr/include/c++/7/utility:289:67: error: template argument 2 is invalid
/usr/include/c++/7/utility:304:29: note: invalid template non-type parameter
       typedef _Index_tuple<0> __type;
                             ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:62:0,
                 from /usr/include/c++/7/algorithm:61,
                 from foo.cc:3:
/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)
                          ^~~~~~~~~
/usr/include/c++/7/ext/type_traits.h:162:26: note: suggested alternative: '__is_nullptr_t'
   __is_null_pointer(std::nullptr_t)
                          ^~~~~~~~~
                          __is_nullptr_t
In file included from /usr/include/c++/7/bits/stl_algobase.h:65:0,
                 from /usr/include/c++/7/algorithm:61,
                 from foo.cc:3:
/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/algorithm:61,
                 from foo.cc:3:
/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/algorithm:61,
                 from foo.cc:3:
/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/algorithm:61:0,
                 from foo.cc:3:
/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
In file included from /usr/include/c++/7/bits/stl_construct.h:59:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/usr/include/c++/7/new: At global scope:
/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/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/stl_construct.h:59:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/stl_construct.h:59:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/stl_construct.h:59:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/stl_construct.h:59:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/stl_construct.h:59:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/stl_construct.h:59:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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/c++/7/ext/alloc_traits.h:36:0,
                 from /usr/include/c++/7/bits/stl_construct.h:61,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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/stl_algo.h:62:0,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/usr/include/c++/7/bits/stl_tempbuf.h: In function 'std::pair<_Tp*, long int> std::get_temporary_buffer(ptrdiff_t)':
/usr/include/c++/7/bits/stl_tempbuf.h:95:20: error: too many arguments to function 'void* operator new(long unsigned int)'
        std::nothrow));
                    ^
In file included from /usr/include/c++/7/string:40:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/usr/include/c++/7/bits/char_traits.h: At global scope:
/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: 'time_put'
       for (std::size_t __i = 0; __i < __n; ++__i)
                 ^~~~~~
                 time_put
/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: 'time_put'
       for (std::size_t __i = 0; __i < __n; ++__i)
                 ^~~~~~
                 time_put
/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/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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/bits/basic_string.h:6361:0,
                 from /usr/include/c++/7/string:52,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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/stl_construct.h:61:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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/stl_construct.h:61:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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/stl_construct.h:61:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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/stl_construct.h:61:0,
                 from /usr/include/c++/7/bits/stl_tempbuf.h:60,
                 from /usr/include/c++/7/bits/stl_algo.h:62,
                 from /usr/include/c++/7/algorithm:62,
                 from foo.cc:3:
/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 /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/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/bits/locale_facets.h:2651:0,
                 from /usr/include/c++/7/locale:40,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/bits/locale_facets.tcc: In member function 'void std::__numpunct_cache<_CharT>::_M_cache(const std::locale&)':
/usr/include/c++/7/bits/locale_facets.tcc:88:27: error: 'const string {aka const class std::__cxx11::basic_string<char>}' has no member named 'size'
    _M_grouping_size = __g.size();
                           ^~~~
/usr/include/c++/7/bits/locale_facets.tcc:90:8: error: 'const string {aka const class std::__cxx11::basic_string<char>}' has no member named 'copy'
    __g.copy(__grouping, _M_grouping_size);
        ^~~~
/usr/include/c++/7/bits/locale_facets.tcc: In member function '_InIter std::num_get<_CharT, _InIter>::_M_extract_float(_InIter, _InIter, std::ios_base&, std::ios_base::iostate&, std::__cxx11::string&) const':
/usr/include/c++/7/bits/locale_facets.tcc:211:19: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'reserve'
  __found_grouping.reserve(32);
                   ^~~~~~~
/usr/include/c++/7/bits/locale_facets.tcc:296:28: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
       if (__found_grouping.size())
                            ^~~~
/usr/include/c++/7/bits/locale_facets.tcc:319:28: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
       if (__found_grouping.size() && !__found_dec)
                            ^~~~
/usr/include/c++/7/bits/locale_facets.tcc:355:28: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
       if (__found_grouping.size())
                            ^~~~
/usr/include/c++/7/bits/locale_facets.tcc: In member function '_InIter std::num_get<_CharT, _InIter>::_M_extract_int(_InIter, _InIter, std::ios_base&, std::ios_base::iostate&, _ValueT&) const':
/usr/include/c++/7/bits/locale_facets.tcc:468:21: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'reserve'
    __found_grouping.reserve(32);
                     ^~~~~~~
/usr/include/c++/7/bits/locale_facets.tcc:554:23: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
  if (__found_grouping.size())
                       ^~~~
/usr/include/c++/7/bits/locale_facets.tcc:567:56: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
  if ((!__sep_pos && !__found_zero && !__found_grouping.size())
                                                        ^~~~
/usr/include/c++/7/bits/locale_facets.tcc: In member function 'virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, float&) const':
/usr/include/c++/7/bits/locale_facets.tcc:695:14: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'reserve'
       __xtrc.reserve(32);
              ^~~~~~~
/usr/include/c++/7/bits/locale_facets.tcc: In member function 'virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, double&) const':
/usr/include/c++/7/bits/locale_facets.tcc:710:14: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'reserve'
       __xtrc.reserve(32);
              ^~~~~~~
/usr/include/c++/7/bits/locale_facets.tcc: In member function 'virtual _InIter std::num_get<_CharT, _InIter>::do_get(std::num_get<_CharT, _InIter>::iter_type, std::num_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, long double&) const':
/usr/include/c++/7/bits/locale_facets.tcc:742:14: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'reserve'
       __xtrc.reserve(32);
              ^~~~~~~
In file included from /usr/include/c++/7/bits/locale_facets_nonio.h:2013:0,
                 from /usr/include/c++/7/locale:41,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/bits/locale_facets_nonio.tcc: In member function 'void std::__moneypunct_cache<_CharT, _Intl>::_M_cache(const std::locale&)':
/usr/include/c++/7/bits/locale_facets_nonio.tcc:85:27: error: 'const string {aka const class std::__cxx11::basic_string<char>}' has no member named 'size'
    _M_grouping_size = __g.size();
                           ^~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:87:8: error: 'const string {aka const class std::__cxx11::basic_string<char>}' has no member named 'copy'
    __g.copy(__grouping, _M_grouping_size);
        ^~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc: In member function '_InIter std::__cxx11::money_get<_CharT, _InIter>::_M_extract(std::__cxx11::money_get<_CharT, _InIter>::iter_type, std::__cxx11::money_get<_CharT, _InIter>::iter_type, std::ios_base&, std::ios_base::iostate&, std::__cxx11::string&) const':
/usr/include/c++/7/bits/locale_facets_nonio.tcc:162:19: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'reserve'
    __grouping_tmp.reserve(32);
                   ^~~~~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:174:8: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'reserve'
  __res.reserve(32);
        ^~~~~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:310:16: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
      if (__res.size() > 1)
                ^~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:312:35: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'find_first_not_of'
   const size_type __first = __res.find_first_not_of('0');
                                   ^~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:313:48: error: 'npos' is not a member of 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}'
   const bool __only_zeros = __first == string::npos;
                                                ^~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:315:41: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
     __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
                                         ^~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:319:29: error: no match for 'operator[]' (operand types are 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' and 'int')
      if (__negative && __res[0] != '0')
                             ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/algorithm:61,
                 from foo.cc:3:
/usr/include/c++/7/bits/stl_iterator.h: In instantiation of 'class __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >':
/usr/include/c++/7/bits/locale_facets_nonio.tcc:320:39:   required from here
/usr/include/c++/7/bits/stl_iterator.h:774:56: error: no type named 'difference_type' in 'struct std::iterator_traits<char*>'
       typedef typename __traits_type::difference_type  difference_type;
                                                        ^~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h: In instantiation of 'class __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >':
/usr/include/c++/7/bits/locale_facets_nonio.tcc:320:39:   required from here
/usr/include/c++/7/bits/stl_iterator.h:774:56: error: no type named 'difference_type' in 'struct std::iterator_traits<const char*>'
In file included from /usr/include/c++/7/bits/locale_facets_nonio.h:2013:0,
                 from /usr/include/c++/7/locale:41,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/bits/locale_facets_nonio.tcc:323:25: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
      if (__grouping_tmp.size())
                         ^~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc: In member function 'virtual _InIter std::__cxx11::money_get<_CharT, _InIter>::do_get(std::__cxx11::money_get<_CharT, _InIter>::iter_type, std::__cxx11::money_get<_CharT, _InIter>::iter_type, bool, std::ios_base&, std::ios_base::iostate&, std::__cxx11::money_get<_CharT, _InIter>::string_type&) const':
/usr/include/c++/7/bits/locale_facets_nonio.tcc:386:32: error: invalid combination of multiple type-specifiers
       typedef typename string::size_type                  size_type;
                                ^~~~~~~~~
/usr/include/c++/7/bits/locale_facets_nonio.tcc:394:37: error: 'std::__cxx11::string {aka class std::__cxx11::basic_string<char>}' has no member named 'size'
       const size_type __len = __str.size();
                                     ^~~~
In file included from /usr/include/c++/7/tuple:39:0,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/bits/locale_conv.h:41,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/array: At global scope:
/usr/include/c++/7/array:47:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:50:25: error: '_Nm' was not declared in this scope
       typedef _Tp _Type[_Nm];
                         ^~~
/usr/include/c++/7/array:55:20: error: '_Type' does not name a type; did you mean '_Tp'?
       _S_ref(const _Type& __t, std::size_t __n) noexcept
                    ^~~~~
                    _Tp
/usr/include/c++/7/array:55:37: error: 'std::size_t' has not been declared
       _S_ref(const _Type& __t, std::size_t __n) noexcept
                                     ^~~~~~
/usr/include/c++/7/array:59:20: error: '_Type' does not name a type; did you mean '_Tp'?
       _S_ptr(const _Type& __t) noexcept
                    ^~~~~
                    _Tp
/usr/include/c++/7/array: In static member function 'static constexpr _Tp& std::__array_traits<_Tp, <declaration error> >::_S_ref(const int&, int)':
/usr/include/c++/7/array:56:40: error: invalid types 'const int[int]' for array subscript
       { return const_cast<_Tp&>(__t[__n]); }
                                        ^
/usr/include/c++/7/array: At global scope:
/usr/include/c++/7/array:93:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:103:20: error: 'size_t' in namespace 'std' does not name a type
       typedef std::size_t                           size_type;
                    ^~~~~~
/usr/include/c++/7/array:104:20: error: 'ptrdiff_t' in namespace 'std' does not name a type
       typedef std::ptrdiff_t                          difference_type;
                    ^~~~~~~~~
/usr/include/c++/7/array:109:51: error: '_Nm' was not declared in this scope
       typedef _GLIBCXX_STD_C::__array_traits<_Tp, _Nm> _AT_Type;
                                                   ^~~
/usr/include/c++/7/array:109:54: error: template argument 2 is invalid
       typedef _GLIBCXX_STD_C::__array_traits<_Tp, _Nm> _AT_Type;
                                                      ^
/usr/include/c++/7/array:110:16: error: '_AT_Type' is not a class, namespace, or enumeration
       typename _AT_Type::_Type                         _M_elems;
                ^~~~~~~~
/usr/include/c++/7/array:121:16: error: '_AT_Type' is not a class, namespace, or enumeration
       noexcept(_AT_Type::_Is_nothrow_swappable::value)
                ^~~~~~~~
/usr/include/c++/7/array:174:17: error: 'size_type' does not name a type; did you mean 'true_type'?
       constexpr size_type
                 ^~~~~~~~~
                 true_type
/usr/include/c++/7/array:177:17: error: 'size_type' does not name a type; did you mean 'true_type'?
       constexpr size_type
                 ^~~~~~~~~
                 true_type
/usr/include/c++/7/array:185:18: error: 'size_type' has not been declared
       operator[](size_type __n) noexcept
                  ^~~~~~~~~
/usr/include/c++/7/array:189:18: error: 'size_type' has not been declared
       operator[](size_type __n) const noexcept
                  ^~~~~~~~~
/usr/include/c++/7/array:193:10: error: 'size_type' has not been declared
       at(size_type __n)
          ^~~~~~~~~
/usr/include/c++/7/array:203:10: error: 'size_type' has not been declared
       at(size_type __n) const
          ^~~~~~~~~
/usr/include/c++/7/array: In member function 'void std::array<_Tp, <declaration error> >::fill(const value_type&)':
/usr/include/c++/7/array:117:30: error: there are no arguments to 'size' that depend on a template parameter, so a declaration of 'size' must be available [-fpermissive]
       { std::fill_n(begin(), size(), __u); }
                              ^~~~
/usr/include/c++/7/array:117:30: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/usr/include/c++/7/array: In member function 'std::array<_Tp, <declaration error> >::value_type* std::array<_Tp, <declaration error> >::end()':
/usr/include/c++/7/array:135:34: error: '_Nm' was not declared in this scope
       { return iterator(data() + _Nm); }
                                  ^~~
/usr/include/c++/7/array: In member function 'const value_type* std::array<_Tp, <declaration error> >::end() const':
/usr/include/c++/7/array:139:40: error: '_Nm' was not declared in this scope
       { return const_iterator(data() + _Nm); }
                                        ^~~
/usr/include/c++/7/array: In member function 'const value_type* std::array<_Tp, <declaration error> >::cend() const':
/usr/include/c++/7/array:163:40: error: '_Nm' was not declared in this scope
       { return const_iterator(data() + _Nm); }
                                        ^~~
/usr/include/c++/7/array: In member function 'constexpr bool std::array<_Tp, <declaration error> >::empty() const':
/usr/include/c++/7/array:181:39: error: there are no arguments to 'size' that depend on a template parameter, so a declaration of 'size' must be available [-fpermissive]
       empty() const noexcept { return size() == 0; }
                                       ^~~~
/usr/include/c++/7/array: In member function 'std::array<_Tp, <declaration error> >::value_type& std::array<_Tp, <declaration error> >::operator[](int)':
/usr/include/c++/7/array:186:16: error: '_AT_Type' is not a class, namespace, or enumeration
       { return _AT_Type::_S_ref(_M_elems, __n); }
                ^~~~~~~~
/usr/include/c++/7/array: In member function 'constexpr const value_type& std::array<_Tp, <declaration error> >::operator[](int) const':
/usr/include/c++/7/array:190:16: error: '_AT_Type' is not a class, namespace, or enumeration
       { return _AT_Type::_S_ref(_M_elems, __n); }
                ^~~~~~~~
/usr/include/c++/7/array: In member function 'std::array<_Tp, <declaration error> >::value_type& std::array<_Tp, <declaration error> >::at(int)':
/usr/include/c++/7/array:195:13: error: '_Nm' was not declared in this scope
  if (__n >= _Nm)
             ^~~
/usr/include/c++/7/array:199:9: error: '_AT_Type' is not a class, namespace, or enumeration
  return _AT_Type::_S_ref(_M_elems, __n);
         ^~~~~~~~
/usr/include/c++/7/array: In member function 'constexpr const value_type& std::array<_Tp, <declaration error> >::at(int) const':
/usr/include/c++/7/array:207:15: error: '_Nm' was not declared in this scope
  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
               ^~~
/usr/include/c++/7/array:207:21: error: '_AT_Type' is not a class, namespace, or enumeration
  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
                     ^~~~~~~~
/usr/include/c++/7/array:211:7: error: '_AT_Type' is not a class, namespace, or enumeration
       _AT_Type::_S_ref(_M_elems, 0));
       ^~~~~~~~
/usr/include/c++/7/array: In member function 'constexpr const value_type& std::array<_Tp, <declaration error> >::front() const':
/usr/include/c++/7/array:220:16: error: '_AT_Type' is not a class, namespace, or enumeration
       { return _AT_Type::_S_ref(_M_elems, 0); }
                ^~~~~~~~
/usr/include/c++/7/array: In member function 'std::array<_Tp, <declaration error> >::value_type& std::array<_Tp, <declaration error> >::back()':
/usr/include/c++/7/array:224:16: error: '_Nm' was not declared in this scope
       { return _Nm ? *(end() - 1) : *end(); }
                ^~~
/usr/include/c++/7/array: In member function 'constexpr const value_type& std::array<_Tp, <declaration error> >::back() const':
/usr/include/c++/7/array:229:9: error: '_Nm' was not declared in this scope
  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
         ^~~
/usr/include/c++/7/array:229:15: error: '_AT_Type' is not a class, namespace, or enumeration
  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
               ^~~~~~~~
/usr/include/c++/7/array:230:16: error: '_AT_Type' is not a class, namespace, or enumeration
              : _AT_Type::_S_ref(_M_elems, 0);
                ^~~~~~~~
/usr/include/c++/7/array: In member function 'std::array<_Tp, <declaration error> >::value_type* std::array<_Tp, <declaration error> >::data()':
/usr/include/c++/7/array:235:16: error: '_AT_Type' is not a class, namespace, or enumeration
       { return _AT_Type::_S_ptr(_M_elems); }
                ^~~~~~~~
/usr/include/c++/7/array: In member function 'const value_type* std::array<_Tp, <declaration error> >::data() const':
/usr/include/c++/7/array:239:16: error: '_AT_Type' is not a class, namespace, or enumeration
       { return _AT_Type::_S_ptr(_M_elems); }
                ^~~~~~~~
/usr/include/c++/7/array: At global scope:
/usr/include/c++/7/array:250:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:252:33: error: '_Nm' was not declared in this scope
     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                 ^~~
/usr/include/c++/7/array:252:36: error: template argument 2 is invalid
     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                    ^
/usr/include/c++/7/array:252:63: error: '_Nm' was not declared in this scope
     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                               ^~~
/usr/include/c++/7/array:252:66: error: template argument 2 is invalid
     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                  ^
/usr/include/c++/7/array:252:74: error: 'bool std::operator==(const int&, const int&)' must have an argument of class or enumerated type
     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                          ^
/usr/include/c++/7/array:255:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:257:33: error: '_Nm' was not declared in this scope
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                 ^~~
/usr/include/c++/7/array:257:36: error: template argument 2 is invalid
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                    ^
/usr/include/c++/7/array:257:63: error: '_Nm' was not declared in this scope
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                               ^~~
/usr/include/c++/7/array:257:66: error: template argument 2 is invalid
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                  ^
/usr/include/c++/7/array:257:74: error: 'bool std::operator!=(const int&, const int&)' must have an argument of class or enumerated type
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                          ^
/usr/include/c++/7/array:260:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:262:32: error: '_Nm' was not declared in this scope
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
                                ^~~
/usr/include/c++/7/array:262:35: error: template argument 2 is invalid
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
                                   ^
/usr/include/c++/7/array:262:60: error: '_Nm' was not declared in this scope
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
                                                            ^~~
/usr/include/c++/7/array:262:63: error: template argument 2 is invalid
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
                                                               ^
/usr/include/c++/7/array:262:69: error: 'bool std::operator<(const int&, const int&)' must have an argument of class or enumerated type
     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
                                                                     ^
/usr/include/c++/7/array:268:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:270:32: error: '_Nm' was not declared in this scope
     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                ^~~
/usr/include/c++/7/array:270:35: error: template argument 2 is invalid
     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                   ^
/usr/include/c++/7/array:270:62: error: '_Nm' was not declared in this scope
     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                              ^~~
/usr/include/c++/7/array:270:65: error: template argument 2 is invalid
     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                 ^
/usr/include/c++/7/array:270:73: error: 'bool std::operator>(const int&, const int&)' must have an argument of class or enumerated type
     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                         ^
/usr/include/c++/7/array:273:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:275:33: error: '_Nm' was not declared in this scope
     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                 ^~~
/usr/include/c++/7/array:275:36: error: template argument 2 is invalid
     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                    ^
/usr/include/c++/7/array:275:63: error: '_Nm' was not declared in this scope
     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                               ^~~
/usr/include/c++/7/array:275:66: error: template argument 2 is invalid
     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                  ^
/usr/include/c++/7/array:275:74: error: 'bool std::operator<=(const int&, const int&)' must have an argument of class or enumerated type
     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                          ^
/usr/include/c++/7/array:278:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:280:33: error: '_Nm' was not declared in this scope
     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                 ^~~
/usr/include/c++/7/array:280:36: error: template argument 2 is invalid
     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                    ^
/usr/include/c++/7/array:280:63: error: '_Nm' was not declared in this scope
     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                               ^~~
/usr/include/c++/7/array:280:66: error: template argument 2 is invalid
     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                  ^
/usr/include/c++/7/array:280:74: error: 'bool std::operator>=(const int&, const int&)' must have an argument of class or enumerated type
     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
                                                                          ^
/usr/include/c++/7/array:284:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:294:21: error: '_Nm' was not declared in this scope
     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
                     ^~~
/usr/include/c++/7/array:294:24: error: template argument 2 is invalid
     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
                        ^
/usr/include/c++/7/array:294:45: error: '_Nm' was not declared in this scope
     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
                                             ^~~
/usr/include/c++/7/array:294:48: error: template argument 2 is invalid
     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
                                                ^
/usr/include/c++/7/array:295:29: error: request for member 'swap' in '__one', which is of non-class type 'int'
     noexcept(noexcept(__one.swap(__two)))
                             ^~~~
/usr/include/c++/7/array: In function 'void std::swap(int&, int&)':
/usr/include/c++/7/array:296:13: error: request for member 'swap' in '__one', which is of non-class type 'int'
     { __one.swap(__two); }
             ^~~~
/usr/include/c++/7/array: At global scope:
/usr/include/c++/7/array:305:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                 ^~~~~~
/usr/include/c++/7/array:305:49: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                                                 ^~~~~~
/usr/include/c++/7/array:307:20: error: '_Nm' was not declared in this scope
     get(array<_Tp, _Nm>& __arr) noexcept
                    ^~~
/usr/include/c++/7/array:307:23: error: template argument 2 is invalid
     get(array<_Tp, _Nm>& __arr) noexcept
                       ^
/usr/include/c++/7/array: In function 'constexpr _Tp& std::get(int&)':
/usr/include/c++/7/array:309:21: error: '_Int' was not declared in this scope
       static_assert(_Int < _Nm, "array index is within bounds");
                     ^~~~
/usr/include/c++/7/array:309:21: note: suggested alternative: 'uint'
       static_assert(_Int < _Nm, "array index is within bounds");
                     ^~~~
                     uint
/usr/include/c++/7/array:309:28: error: '_Nm' was not declared in this scope
       static_assert(_Int < _Nm, "array index is within bounds");
                            ^~~
/usr/include/c++/7/array:311:15: error: request for member '_M_elems' in '__arr', which is of non-class type 'int'
  _S_ref(__arr._M_elems, _Int);
               ^~~~~~~~
/usr/include/c++/7/array: At global scope:
/usr/include/c++/7/array:314:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                 ^~~~~~
/usr/include/c++/7/array:314:49: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                                                 ^~~~~~
/usr/include/c++/7/array:316:20: error: '_Nm' was not declared in this scope
     get(array<_Tp, _Nm>&& __arr) noexcept
                    ^~~
/usr/include/c++/7/array:316:23: error: template argument 2 is invalid
     get(array<_Tp, _Nm>&& __arr) noexcept
                       ^
/usr/include/c++/7/array: In function 'constexpr _Tp&& std::get(int&&)':
/usr/include/c++/7/array:318:21: error: '_Int' was not declared in this scope
       static_assert(_Int < _Nm, "array index is within bounds");
                     ^~~~
/usr/include/c++/7/array:318:21: note: suggested alternative: 'uint'
       static_assert(_Int < _Nm, "array index is within bounds");
                     ^~~~
                     uint
/usr/include/c++/7/array:318:28: error: '_Nm' was not declared in this scope
       static_assert(_Int < _Nm, "array index is within bounds");
                            ^~~
/usr/include/c++/7/array:319:55: error: no matching function for call to 'get<_Int>(int&)'
       return std::move(_GLIBCXX_STD_C::get<_Int>(__arr));
                                                       ^
In file included from /usr/include/c++/7/algorithm:60:0,
                 from foo.cc:3:
/usr/include/c++/7/utility:225:5: note: candidate: template<<declaration error>, class _Tp1, class _Tp2> constexpr int& std::get(std::pair<_Tp1, _Tp2>&)
     get(std::pair<_Tp1, _Tp2>& __in) noexcept
     ^~~
/usr/include/c++/7/utility:225:5: note:   template argument deduction/substitution failed:
/usr/include/c++/7/utility:230:5: note: candidate: template<<declaration error>, class _Tp1, class _Tp2> constexpr int&& std::get(std::pair<_Tp1, _Tp2>&&)
     get(std::pair<_Tp1, _Tp2>&& __in) noexcept
     ^~~
/usr/include/c++/7/utility:230:5: note:   template argument deduction/substitution failed:
/usr/include/c++/7/utility:235:5: note: candidate: template<<declaration error>, class _Tp1, class _Tp2> constexpr const int& std::get(const std::pair<_Tp1, _Tp2>&)
     get(const std::pair<_Tp1, _Tp2>& __in) noexcept
     ^~~
/usr/include/c++/7/utility:235:5: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/7/tuple:39:0,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/bits/locale_conv.h:41,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/array:307:5: note: candidate: template<<declaration error>, class _Tp, <declaration error> > constexpr _Tp& std::get(int&)
     get(array<_Tp, _Nm>& __arr) noexcept
     ^~~
/usr/include/c++/7/array:307:5: note:   template argument deduction/substitution failed:
/usr/include/c++/7/array:316:5: note: candidate: template<<declaration error>, class _Tp, <declaration error> > constexpr _Tp&& std::get(int&&)
     get(array<_Tp, _Nm>&& __arr) noexcept
     ^~~
/usr/include/c++/7/array:316:5: note:   template argument deduction/substitution failed:
/usr/include/c++/7/array: At global scope:
/usr/include/c++/7/array:322:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                 ^~~~~~
/usr/include/c++/7/array:322:49: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                                                 ^~~~~~
/usr/include/c++/7/array:324:26: error: '_Nm' was not declared in this scope
     get(const array<_Tp, _Nm>& __arr) noexcept
                          ^~~
/usr/include/c++/7/array:324:29: error: template argument 2 is invalid
     get(const array<_Tp, _Nm>& __arr) noexcept
                             ^
/usr/include/c++/7/array: In function 'constexpr const _Tp& std::get(const int&)':
/usr/include/c++/7/array:326:21: error: '_Int' was not declared in this scope
       static_assert(_Int < _Nm, "array index is within bounds");
                     ^~~~
/usr/include/c++/7/array:326:21: note: suggested alternative: 'uint'
       static_assert(_Int < _Nm, "array index is within bounds");
                     ^~~~
                     uint
/usr/include/c++/7/array:326:28: error: '_Nm' was not declared in this scope
       static_assert(_Int < _Nm, "array index is within bounds");
                            ^~~
/usr/include/c++/7/array:328:15: error: request for member '_M_elems' in '__arr', which is of non-class type 'const int'
  _S_ref(__arr._M_elems, _Int);
               ^~~~~~~~
/usr/include/c++/7/array: At global scope:
/usr/include/c++/7/array:345:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:346:50: error: '_Nm' was not declared in this scope
     struct tuple_size<_GLIBCXX_STD_C::array<_Tp, _Nm>>
                                                  ^~~
/usr/include/c++/7/array:346:50: error: template argument 2 is invalid
/usr/include/c++/7/array:346:53: error: template argument 1 is invalid
     struct tuple_size<_GLIBCXX_STD_C::array<_Tp, _Nm>>
                                                     ^~
/usr/include/c++/7/array:347:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, _Nm> { };
                                     ^~~~~~
/usr/include/c++/7/array:347:37: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/tuple:39:0,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/bits/locale_conv.h:41,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/array:347:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, _Nm> { };
                                     ^~~~~~
/usr/include/c++/7/array:347:37: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/tuple:39:0,
                 from /usr/include/c++/7/bits/unique_ptr.h:37,
                 from /usr/include/c++/7/bits/locale_conv.h:41,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/array:347:45: error: '_Nm' was not declared in this scope
     : public integral_constant<std::size_t, _Nm> { };
                                             ^~~
/usr/include/c++/7/array:347:48: error: template argument 1 is invalid
     : public integral_constant<std::size_t, _Nm> { };
                                                ^
/usr/include/c++/7/array:347:48: error: template argument 2 is invalid
/usr/include/c++/7/array:350:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp>
                 ^~~~~~
/usr/include/c++/7/array:354:17: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                 ^~~~~~
/usr/include/c++/7/array:354:49: error: 'std::size_t' has not been declared
   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
                                                 ^~~~~~
/usr/include/c++/7/array:355:26: error: '_Int' was not declared in this scope
     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
                          ^~~~
/usr/include/c++/7/array:355:26: note: suggested alternative: 'uint'
     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
                          ^~~~
                          uint
/usr/include/c++/7/array:355:59: error: '_Nm' was not declared in this scope
     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
                                                           ^~~
/usr/include/c++/7/array:355:59: error: template argument 2 is invalid
/usr/include/c++/7/array:355:62: error: template argument 1 is invalid
     struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
                                                              ^~
/usr/include/c++/7/array:355:62: error: template argument 2 is invalid
/usr/include/c++/7/array:361:31: error: 'std::size_t' has not been declared
   template<typename _Tp, std::size_t _Nm>
                               ^~~~~~
/usr/include/c++/7/array:362:60: error: '_Nm' was not declared in this scope
     struct __is_tuple_like_impl<_GLIBCXX_STD_C::array<_Tp, _Nm>> : true_type
                                                            ^~~
/usr/include/c++/7/array:362:60: error: template argument 2 is invalid
/usr/include/c++/7/array:362:63: error: template argument 1 is invalid
     struct __is_tuple_like_impl<_GLIBCXX_STD_C::array<_Tp, _Nm>> : true_type
                                                               ^~
In file included from /usr/include/c++/7/bits/unique_ptr.h:37:0,
                 from /usr/include/c++/7/bits/locale_conv.h:41,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/tuple:68:17: error: 'std::size_t' has not been declared
   template<std::size_t _Idx, typename _Head,
                 ^~~~~~
/usr/include/c++/7/tuple:70:12: error: no default argument for '_Head'
     struct _Head_base;
            ^~~~~~~~~~
/usr/include/c++/7/tuple:72:17: error: 'std::size_t' has not been declared
   template<std::size_t _Idx, typename _Head>
                 ^~~~~~
/usr/include/c++/7/tuple:73:23: error: '_Idx' was not declared in this scope
     struct _Head_base<_Idx, _Head, true>
                       ^~~~
/usr/include/c++/7/tuple:73:40: error: template argument 1 is invalid
     struct _Head_base<_Idx, _Head, true>
                                        ^
/usr/include/c++/7/tuple:119:17: error: 'std::size_t' has not been declared
   template<std::size_t _Idx, typename _Head>
                 ^~~~~~
/usr/include/c++/7/tuple:120:23: error: '_Idx' was not declared in this scope
     struct _Head_base<_Idx, _Head, false>
                       ^~~~
/usr/include/c++/7/tuple:120:41: error: template argument 1 is invalid
     struct _Head_base<_Idx, _Head, false>
                                         ^
/usr/include/c++/7/tuple:176:17: error: 'std::size_t' has not been declared
   template<std::size_t _Idx, typename... _Elements>
                 ^~~~~~
/usr/include/c++/7/tuple:184:17: error: 'std::size_t' has not been declared
   template<std::size_t _Idx, typename _Head, typename... _Tail>
                 ^~~~~~
/usr/include/c++/7/tuple:185:24: error: '_Idx' was not declared in this scope
     struct _Tuple_impl<_Idx, _Head, _Tail...>
                        ^~~~
/usr/include/c++/7/tuple:185:45: error: template argument 1 is invalid
     struct _Tuple_impl<_Idx, _Head, _Tail...>
                                             ^
/usr/include/c++/7/tuple:186:26: error: '_Idx' was not declared in this scope
     : public _Tuple_impl<_Idx + 1, _Tail...>,
                          ^~~~
/usr/include/c++/7/tuple:186:44: error: template argument 1 is invalid
     : public _Tuple_impl<_Idx + 1, _Tail...>,
                                            ^
/usr/include/c++/7/tuple:187:26: error: '_Idx' was not declared in this scope
       private _Head_base<_Idx, _Head>
                          ^~~~
/usr/include/c++/7/tuple:187:37: error: template argument 1 is invalid
       private _Head_base<_Idx, _Head>
                                     ^
/usr/include/c++/7/tuple:342:17: error: 'std::size_t' has not been declared
   template<std::size_t _Idx, typename _Head>
                 ^~~~~~
/usr/include/c++/7/tuple:343:24: error: '_Idx' was not declared in this scope
     struct _Tuple_impl<_Idx, _Head>
                        ^~~~
/usr/include/c++/7/tuple:343:35: error: template argument 1 is invalid
     struct _Tuple_impl<_Idx, _Head>
                                   ^
/usr/include/c++/7/tuple:344:26: error: '_Idx' was not declared in this scope
     : private _Head_base<_Idx, _Head>
                          ^~~~
/usr/include/c++/7/tuple:344:37: error: template argument 1 is invalid
     : private _Head_base<_Idx, _Head>
                                     ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple()':
/usr/include/c++/7/tuple:582:9: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
       : _Inherited() { }
         ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple()':
/usr/include/c++/7/tuple:592:9: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
       : _Inherited() { }
         ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(const _Elements& ...)':
/usr/include/c++/7/tuple:609:9: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
       : _Inherited(__elements...) { }
         ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(const _Elements& ...)':
/usr/include/c++/7/tuple:620:9: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
       : _Inherited(__elements...) { }
         ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(_UElements&& ...)':
/usr/include/c++/7/tuple:647:11: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
         : _Inherited(std::forward<_UElements>(__elements)...) { }
           ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(_UElements&& ...)':
/usr/include/c++/7/tuple:658:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(std::forward<_UElements>(__elements)...) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(const std::tuple<_Args1 ...>&)':
/usr/include/c++/7/tuple:679:11: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
           ^~~~~~~~~~
/usr/include/c++/7/tuple:679:69: error: expected '>' before '&' token
         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                                     ^
/usr/include/c++/7/tuple:679:69: error: expected '(' before '&' token
/usr/include/c++/7/tuple:679:70: error: expected primary-expression before '>' token
         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                                      ^
/usr/include/c++/7/tuple:680:11: error: expected '{' at end of input
         { }
           ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(const std::tuple<_Args1 ...>&)':
/usr/include/c++/7/tuple:691:11: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
           ^~~~~~~~~~
/usr/include/c++/7/tuple:691:69: error: expected '>' before '&' token
         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                                     ^
/usr/include/c++/7/tuple:691:69: error: expected '(' before '&' token
/usr/include/c++/7/tuple:691:70: error: expected primary-expression before '>' token
         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                                      ^
/usr/include/c++/7/tuple:692:11: error: expected '{' at end of input
         { }
           ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(std::tuple<_Args1 ...>&&)':
/usr/include/c++/7/tuple:703:11: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
           ^~~~~~~~~~
/usr/include/c++/7/tuple:703:63: error: expected '>' before '&&' token
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
                                                               ^~
/usr/include/c++/7/tuple:703:63: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:703:65: error: expected identifier before '>' token
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
                                                                 ^
/usr/include/c++/7/tuple:703:76: error: expected '{' at end of input
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
                                                                            ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_Elements>::tuple(std::tuple<_Args1 ...>&&)':
/usr/include/c++/7/tuple:714:11: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
           ^~~~~~~~~~
/usr/include/c++/7/tuple:714:63: error: expected '>' before '&&' token
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
                                                               ^~
/usr/include/c++/7/tuple:714:63: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:714:65: error: expected identifier before '>' token
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
                                                                 ^
/usr/include/c++/7/tuple:714:76: error: expected '{' at end of input
         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
                                                                            ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&)':
/usr/include/c++/7/tuple:720:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const _Elements& ...)':
/usr/include/c++/7/tuple:731:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a, __elements...) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const _Elements& ...)':
/usr/include/c++/7/tuple:742:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a, __elements...) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, _UElements&& ...)':
/usr/include/c++/7/tuple:752:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, _UElements&& ...)':
/usr/include/c++/7/tuple:763:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_Elements>&)':
/usr/include/c++/7/tuple:768:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_Elements>&&)':
/usr/include/c++/7/tuple:772:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_UElements ...>&)':
/usr/include/c++/7/tuple:785:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a,
    ^~~~~~~~~~
/usr/include/c++/7/tuple:786:62: error: expected '>' before '&' token
               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                              ^
/usr/include/c++/7/tuple:786:62: error: expected '(' before '&' token
/usr/include/c++/7/tuple:786:63: error: expected primary-expression before '>' token
               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                               ^
/usr/include/c++/7/tuple:787:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_UElements ...>&)':
/usr/include/c++/7/tuple:800:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a,
    ^~~~~~~~~~
/usr/include/c++/7/tuple:801:62: error: expected '>' before '&' token
               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                              ^
/usr/include/c++/7/tuple:801:62: error: expected '(' before '&' token
/usr/include/c++/7/tuple:801:63: error: expected primary-expression before '>' token
               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
                                                               ^
/usr/include/c++/7/tuple:802:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_UElements ...>&&)':
/usr/include/c++/7/tuple:815:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a,
    ^~~~~~~~~~
/usr/include/c++/7/tuple:816:56: error: expected '>' before '&&' token
               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
                                                        ^~
/usr/include/c++/7/tuple:816:56: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:816:58: error: expected identifier before '>' token
               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
                                                          ^
/usr/include/c++/7/tuple:817:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_Elements>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_UElements ...>&&)':
/usr/include/c++/7/tuple:830:4: error: 'typedef int std::tuple<_Elements>::_Inherited' is not a non-static data member of 'std::tuple<_Elements>'
  : _Inherited(__tag, __a,
    ^~~~~~~~~~
/usr/include/c++/7/tuple:831:56: error: expected '>' before '&&' token
               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
                                                        ^~
/usr/include/c++/7/tuple:831:56: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:831:58: error: expected identifier before '>' token
               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
                                                          ^
/usr/include/c++/7/tuple:832:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In member function 'void std::tuple<_Elements>::swap(std::tuple<_Elements>&)':
/usr/include/c++/7/tuple:872:28: error: qualified-id in declaration before '(' token
       { _Inherited::_M_swap(__in); }
                            ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple()':
/usr/include/c++/7/tuple:920:9: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
       : _Inherited() { }
         ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple()':
/usr/include/c++/7/tuple:934:9: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
       : _Inherited() { }
         ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&)':
/usr/include/c++/7/tuple:948:11: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
         : _Inherited(__a1, __a2) { }
           ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(const _T1&, const _T2&)':
/usr/include/c++/7/tuple:957:11: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
         : _Inherited(__a1, __a2) { }
           ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)':
/usr/include/c++/7/tuple:972:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&)':
/usr/include/c++/7/tuple:983:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)':
/usr/include/c++/7/tuple:996:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple:996:57: error: expected '>' before '&' token
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
                                                         ^
/usr/include/c++/7/tuple:996:57: error: expected '(' before '&' token
/usr/include/c++/7/tuple:996:58: error: expected primary-expression before '>' token
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
                                                          ^
/usr/include/c++/7/tuple:996:69: error: expected '{' at end of input
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
                                                                     ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(const std::tuple<_U1, _U2>&)':
/usr/include/c++/7/tuple:1005:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple:1005:57: error: expected '>' before '&' token
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
                                                         ^
/usr/include/c++/7/tuple:1005:57: error: expected '(' before '&' token
/usr/include/c++/7/tuple:1005:58: error: expected primary-expression before '>' token
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
                                                          ^
/usr/include/c++/7/tuple:1005:69: error: expected '{' at end of input
  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
                                                                     ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1014:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple:1014:51: error: expected '>' before '&&' token
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
                                                   ^~
/usr/include/c++/7/tuple:1014:51: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:1014:53: error: expected identifier before '>' token
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
                                                     ^
/usr/include/c++/7/tuple:1014:64: error: expected '{' at end of input
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
                                                                ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(std::tuple<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1023:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple:1023:51: error: expected '>' before '&&' token
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
                                                   ^~
/usr/include/c++/7/tuple:1023:51: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:1023:53: error: expected identifier before '>' token
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
                                                     ^
/usr/include/c++/7/tuple:1023:64: error: expected '{' at end of input
  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
                                                                ^
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)':
/usr/include/c++/7/tuple:1032:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__in.first, __in.second) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(const std::pair<_U1, _U2>&)':
/usr/include/c++/7/tuple:1041:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__in.first, __in.second) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1050:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(std::forward<_U1>(__in.first),
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'constexpr std::tuple<_T1, _T2>::tuple(std::pair<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1060:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(std::forward<_U1>(__in.first),
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&)':
/usr/include/c++/7/tuple:1067:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)':
/usr/include/c++/7/tuple:1079:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, __a1, __a2) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const _T1&, const _T2&)':
/usr/include/c++/7/tuple:1091:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, __a1, __a2) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)':
/usr/include/c++/7/tuple:1100:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, _U1&&, _U2&&)':
/usr/include/c++/7/tuple:1111:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_T1, _T2>&)':
/usr/include/c++/7/tuple:1116:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_T1, _T2>&&)':
/usr/include/c++/7/tuple:1120:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)':
/usr/include/c++/7/tuple:1130:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a,
    ^~~~~~~~~~
/usr/include/c++/7/tuple:1131:57: error: expected '>' before '&' token
               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
                                                         ^
/usr/include/c++/7/tuple:1131:57: error: expected '(' before '&' token
/usr/include/c++/7/tuple:1131:58: error: expected primary-expression before '>' token
               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
                                                          ^
/usr/include/c++/7/tuple:1132:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::tuple<_U1, _U2>&)':
/usr/include/c++/7/tuple:1142:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a,
    ^~~~~~~~~~
/usr/include/c++/7/tuple:1143:57: error: expected '>' before '&' token
               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
                                                         ^
/usr/include/c++/7/tuple:1143:57: error: expected '(' before '&' token
/usr/include/c++/7/tuple:1143:58: error: expected primary-expression before '>' token
               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
                                                          ^
/usr/include/c++/7/tuple:1144:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1153:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
    ^~~~~~~~~~
/usr/include/c++/7/tuple:1153:63: error: expected '>' before '&&' token
  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
                                                               ^~
/usr/include/c++/7/tuple:1153:63: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:1153:65: error: expected identifier before '>' token
  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
                                                                 ^
/usr/include/c++/7/tuple:1154:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::tuple<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1164:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
    ^~~~~~~~~~
/usr/include/c++/7/tuple:1164:63: error: expected '>' before '&&' token
  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
                                                               ^~
/usr/include/c++/7/tuple:1164:63: error: expected '(' before '&&' token
/usr/include/c++/7/tuple:1164:65: error: expected identifier before '>' token
  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
                                                                 ^
/usr/include/c++/7/tuple:1165:4: error: expected '{' at end of input
  { }
    ^
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)':
/usr/include/c++/7/tuple:1175:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, __in.first, __in.second) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, const std::pair<_U1, _U2>&)':
/usr/include/c++/7/tuple:1185:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, __in.first, __in.second) { }
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1194:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In constructor 'std::tuple<_T1, _T2>::tuple(std::allocator_arg_t, const _Alloc&, std::pair<_U1, _U2>&&)':
/usr/include/c++/7/tuple:1205:4: error: 'typedef int std::tuple<_T1, _T2>::_Inherited' is not a non-static data member of 'std::tuple<_T1, _T2>'
  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
    ^~~~~~~~~~
/usr/include/c++/7/tuple: In member function 'void std::tuple<_T1, _T2>::swap(std::tuple<_T1, _T2>&)':
/usr/include/c++/7/tuple:1260:28: error: qualified-id in declaration before '(' token
       { _Inherited::_M_swap(__in); }
                            ^
/usr/include/c++/7/tuple: At global scope:
/usr/include/c++/7/tuple:1267:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, sizeof...(_Elements)> { };
                                     ^~~~~~
/usr/include/c++/7/tuple:1267:37: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/unique_ptr.h:37:0,
                 from /usr/include/c++/7/bits/locale_conv.h:41,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/tuple:1267:37: error: 'size_t' is not a member of 'std'
     : public integral_constant<std::size_t, sizeof...(_Elements)> { };
                                     ^~~~~~
/usr/include/c++/7/tuple:1267:37: note: suggested alternative:
In file included from /usr/include/stdio.h:33:0,
                 from /usr/include/c++/7/cstdio:42,
                 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/bits/unique_ptr.h:37:0,
                 from /usr/include/c++/7/bits/locale_conv.h:41,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/c++/7/iomanip:43,
                 from foo.cc:5:
/usr/include/c++/7/tuple:1267:65: error: template argument 1 is invalid
     : public integral_constant<std::size_t, sizeof...(_Elements)> { };
                                                                 ^
/usr/include/c++/7/tuple:1267:65: note: invalid template non-type parameter
/usr/include/c++/7/tuple:1278:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Head, typename... _Tail>
                 ^~~~~~
/usr/include/c++/7/tuple:1279:26: error: '__i' was not declared in this scope
     struct tuple_element<__i, tuple<_Head, _Tail...> >
                          ^~~
/usr/include/c++/7/tuple:1279:26: note: suggested alternative: '__N'
     struct tuple_element<__i, tuple<_Head, _Tail...> >
                          ^~~
                          __N
/usr/include/c++/7/tuple:1279:54: error: template argument 1 is invalid
     struct tuple_element<__i, tuple<_Head, _Tail...> >
                                                      ^
/usr/include/c++/7/tuple:1280:21: error: '__i' was not declared in this scope
     : tuple_element<__i - 1, tuple<_Tail...> > { };
                     ^~~
/usr/include/c++/7/tuple:1280:21: note: suggested alternative: '__N'
     : tuple_element<__i - 1, tuple<_Tail...> > { };
                     ^~~
                     __N
/usr/include/c++/7/tuple:1280:46: error: template argument 1 is invalid
     : tuple_element<__i - 1, tuple<_Tail...> > { };
                                              ^
/usr/include/c++/7/tuple:1301:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Head, typename... _Tail>
                 ^~~~~~
/usr/include/c++/7/tuple:1303:30: error: '__i' was not declared in this scope
     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
                              ^~~
/usr/include/c++/7/tuple:1303:30: note: suggested alternative: '__N'
     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
                              ^~~
                              __N
/usr/include/c++/7/tuple:1303:50: error: template argument 1 is invalid
     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
                                                  ^
/usr/include/c++/7/tuple: In function 'constexpr _Head& std::__get_helper(int&)':
/usr/include/c++/7/tuple:1304:26: error: '__i' was not declared in this scope
     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
                          ^~~
/usr/include/c++/7/tuple:1304:26: note: suggested alternative: '__t'
     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
                          ^~~
                          __t
/usr/include/c++/7/tuple:1304:46: error: template argument 1 is invalid
     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
                                              ^
/usr/include/c++/7/tuple: At global scope:
/usr/include/c++/7/tuple:1306:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename _Head, typename... _Tail>
                 ^~~~~~
/usr/include/c++/7/tuple:1308:36: error: '__i' was not declared in this scope
     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
                                    ^~~
/usr/include/c++/7/tuple:1308:36: note: suggested alternative: '__N'
     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
                                    ^~~
                                    __N
/usr/include/c++/7/tuple:1308:56: error: template argument 1 is invalid
     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
                                                        ^
/usr/include/c++/7/tuple: In function 'constexpr const _Head& std::__get_helper(const int&)':
/usr/include/c++/7/tuple:1309:26: error: '__i' was not declared in this scope
     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
                          ^~~
/usr/include/c++/7/tuple:1309:26: note: suggested alternative: '__t'
     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
                          ^~~
                          __t
/usr/include/c++/7/tuple:1309:46: error: template argument 1 is invalid
     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
                                              ^
/usr/include/c++/7/tuple: At global scope:
/usr/include/c++/7/tuple:1312:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename... _Elements>
                 ^~~~~~
/usr/include/c++/7/tuple:1313:15: error: '__tuple_element_t' does not name a type; did you mean 'tuple_element'?
     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
               ^~~~~~~~~~~~~~~~~
               tuple_element
/usr/include/c++/7/tuple:1318:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename... _Elements>
                 ^~~~~~
/usr/include/c++/7/tuple:1319:21: error: '__tuple_element_t' does not name a type; did you mean 'tuple_element'?
     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
                     ^~~~~~~~~~~~~~~~~
                     tuple_element
/usr/include/c++/7/tuple:1324:17: error: 'std::size_t' has not been declared
   template<std::size_t __i, typename... _Elements>
                 ^~~~~~
/usr/include/c++/7/tuple:1325:15: error: '__tuple_element_t' does not name a type; did you mean 'tuple_element'?
     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
               ^~~~~~~~~~~~~~~~~
               tuple_element
/usr/include/c++/7/tuple:1468:18: error: '__tuple_element_t' was not declared in this scope
    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
                  ^~~~~~~~~~~~~~~~~
/usr/include/c++/7/tuple:1468:18: note: suggested alternative: 'tuple_element'
    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
                  ^~~~~~~~~~~~~~~~~
                  tuple_element
/usr/include/c++/7/tuple:1468:42: error: template argument 2 is invalid
    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
                                          ^~~~~~
/usr/include/c++/7/tuple:1468:48: error: wrong number of template arguments (2, should be 4)
    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
                                                ^~
/usr/include/c++/7/tuple:1463:12: note: provided for 'template<long unsigned int <anonymous>, class, class, long unsigned int <anonymous> > struct std::__make_tuple_impl'
     struct __make_tuple_impl;
            ^~~~~~~~~~~~~~~~~
/usr/include/c++/7/tuple:1469:15: error: expected class-name before '>' token
    _Tuple, _Nm>
               ^
/usr/include/c++/7/tuple:1469:15: error: expected '{' before '>' token
/usr/include/c++/7/tuple:1472:17: error: 'std::size_t' has not been declared
   template<std::size_t _Nm, typename _Tuple, typename... _Tp>
                 ^~~~~~
/usr/include/c++/7/tuple:1473:30: error: '_Nm' was not declared in this scope
     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
                              ^~~
/usr/include/c++/7/tuple:1473:58: error: '_Nm' was not declared in this scope
     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
                                                          ^~~
/usr/include/c++/7/tuple:1473:61: error: template argument 1 is invalid
     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
                                                             ^
/usr/include/c++/7/tuple:1473:61: error: template argument 4 is invalid
/usr/include/c++/7/tuple:1545:32: error: 'std::size_t' has not been declared
   template<typename _Ret, std::size_t... _Is, typename _Tp, typename... _Tpls>
                                ^~~~~~
/usr/include/c++/7/tuple:1546:53: error: '_Is' was not declared in this scope
     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
                                                     ^~~
/usr/include/c++/7/tuple:1546:56: error: expected parameter pack before '...'
     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
                                                        ^~~
/usr/include/c++/7/tuple:1546:59: error: template argument 1 is invalid
     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
                                                           ^
/usr/include/c++/7/tuple:1546:75: error: template argument 2 is invalid
     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
                                                                           ^
/usr/include/c++/7/tuple:1645:39: error: 'std::size_t' has not been declared
     template<typename... _Args1, std::size_t... _Indexes1,
                                       ^~~~~~
/usr/include/c++/7/tuple:1646:39: error: 'std::size_t' has not been declared
              typename... _Args2, std::size_t... _Indexes2>
                                       ^~~~~~
/usr/include/c++/7/tuple:1650:18: error: '_Indexes1' was not declared in this scope
     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
                  ^~~~~~~~~
/usr/include/c++/7/tuple:1650:27: error: expected parameter pack before '...'
     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
                           ^~~
/usr/include/c++/7/tuple:1650:30: error: template argument 1 is invalid
     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
                              ^
/usr/include/c++/7/tuple:1650:46: error: '_Indexes2' was not declared in this scope
     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
                                              ^~~~~~~~~
/usr/include/c++/7/tuple:1650:55: error: expected parameter pack before '...'
     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
                                                       ^~~
/usr/include/c++/7/tuple:1650:58: error: template argument 1 is invalid
     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
                                                          ^
/usr/include/c++/7/tuple:1650:59: error: default argument for template parameter for class enclosing 'std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, int, int)'
     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
                                                           ^
/usr/include/c++/7/tuple: In constructor 'std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, int, int)':
/usr/include/c++/7/tuple:1651:45: error: '_Indexes1' was not declared in this scope
       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
                                             ^~~~~~~~~
/usr/include/c++/7/tuple:1652:46: error: '_Indexes2' was not declared in this scope
         second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
                                              ^~~~~~~~~
foo.cc: In function 'void init()':
foo.cc:21:29: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
         while(scanf("%d",&x)==1&x)
               ~~~~~~~~~~~~~~^~~
foo.cc: In function 'void work()':
foo.cc:46:5: error: 'cout' was not declared in this scope
     cout<<tot<<endl;
     ^~~~
foo.cc:46:5: note: suggested alternative: 'tot'
     cout<<tot<<endl;
     ^~~~
     tot
foo.cc:46:16: error: 'endl' was not declared in this scope
     cout<<tot<<endl;
                ^~~~
foo.cc:46:16: note: suggested alternative: 'enum'
     cout<<tot<<endl;
                ^~~~
                enum
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/iomanip:40,
                 from foo.cc:5:
/usr/include/c++/7/bits/basic_string.h: In instantiation of 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]':
/usr/include/c++/7/system_error:189:40:   required from here
/usr/include/c++/7/bits/basic_string.h:542:24: error: 'class std::__cxx11::basic_string<char>' has no member named '_M_allocated_capacity'; did you mean '_S_local_capacity'?
      _M_capacity(__str._M_allocated_capacity);
                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~
                  _S_local_capacity
/usr/include/c++/7/bits/basic_string.h:542:17: error: '_M_capacity' was not declared in this scope
      _M_capacity(__str._M_allocated_capacity);
      ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:548:11: error: '_M_length' was not declared in this scope
  _M_length(__str.length());
  ~~~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h: In instantiation of 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]':
/usr/include/c++/7/system_error:351:50:   required from here
/usr/include/c++/7/bits/basic_string.h:5968:33: error: 'class std::__cxx11::basic_string<char>' has no member named 'size'
       const auto __size = __lhs.size() + __rhs.size();
                           ~~~~~~^~~~
/usr/include/c++/7/bits/basic_string.h:5968:48: error: 'class std::__cxx11::basic_string<char>' has no member named 'size'
       const auto __size = __lhs.size() + __rhs.size();
                                          ~~~~~~^~~~
/usr/include/c++/7/bits/basic_string.h:5969:43: error: 'class std::__cxx11::basic_string<char>' has no member named 'capacity'
       const bool __cond = (__size > __lhs.capacity()
                                     ~~~~~~^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:5970:26: error: 'class std::__cxx11::basic_string<char>' has no member named 'capacity'
       && __size <= __rhs.capacity());
                    ~~~~~~^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:5971:32: error: no matching function for call to 'std::__cxx11::basic_string<char>::insert(int, std::__cxx11::basic_string<char>&)'
       return __cond ? std::move(__rhs.insert(0, __lhs))
                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:1567:9: note: candidate: template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; <template-parameter-2-2> = <template-parameter-1-2>; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
         ^~~~~~
/usr/include/c++/7/bits/basic_string.h:1567:9: note:   template argument deduction/substitution failed:
/usr/include/c++/7/bits/basic_string.h:5971:32: note:   candidate expects 3 arguments, 2 provided
       return __cond ? std::move(__rhs.insert(0, __lhs))
                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:1601:7: note: candidate: void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*]
       insert(iterator __p, initializer_list<_CharT> __l)
       ^~~~~~
/usr/include/c++/7/bits/basic_string.h:1601:7: note:   no known conversion for argument 1 from 'int' to 'std::__cxx11::basic_string<char>::iterator {aka __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >}'
/usr/include/c++/7/bits/basic_string.h:1728:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]
       insert(__const_iterator __p, _CharT __c)
       ^~~~~~
/usr/include/c++/7/bits/basic_string.h:1728:7: note:   no known conversion for argument 1 from 'int' to 'std::__cxx11::basic_string<char>::__const_iterator {aka __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >}'
/usr/include/c++/7/bits/basic_string.h: In instantiation of 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]':
/usr/include/c++/7/system_error:354:51:   required from here
/usr/include/c++/7/bits/basic_string.h:5979:23: error: no matching function for call to 'std::__cxx11::basic_string<char>::insert(int, const char*&)'
     { return std::move(__rhs.insert(0, __lhs)); }
              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:1567:9: note: candidate: template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = _InputIterator; <template-parameter-2-2> = <template-parameter-1-2>; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]
         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
         ^~~~~~
/usr/include/c++/7/bits/basic_string.h:1567:9: note:   template argument deduction/substitution failed:
/usr/include/c++/7/bits/basic_string.h:5979:23: note:   candidate expects 3 arguments, 2 provided
     { return std::move(__rhs.insert(0, __lhs)); }
              ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:1601:7: note: candidate: void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator, std::initializer_list<_Tp>) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*]
       insert(iterator __p, initializer_list<_CharT> __l)
       ^~~~~~
/usr/include/c++/7/bits/basic_string.h:1601:7: note:   no known conversion for argument 1 from 'int' to 'std::__cxx11::basic_string<char>::iterator {aka __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >}'
/usr/include/c++/7/bits/basic_string.h:1728:7: note: candidate: std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::insert(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator, _CharT) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::pointer = char*; std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::__const_iterator = __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >; typename __gnu_cxx::__alloc_traits<typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_CharT>::other>::const_pointer = const char*]
       insert(__const_iterator __p, _CharT __c)
       ^~~~~~
/usr/include/c++/7/bits/basic_string.h:1728:7: note:   no known conversion for argument 1 from 'int' to 'std::__cxx11::basic_string<char>::__const_iterator {aka __gnu_cxx::__normal_iterator<const char*, std::__cxx11::basic_string<char> >}'
/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>]'
/usr/include/c++/7/system_error:189:40:   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
/usr/include/c++/7/bits/basic_string.h: In instantiation of 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::append(const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]':
/usr/include/c++/7/bits/basic_string.h:5929:7:   required from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
/usr/include/c++/7/system_error:351:30:   required from here
/usr/include/c++/7/bits/basic_string.h:1257:17: error: '_M_check_length' was not declared in this scope
  _M_check_length(size_type(0), __n, "basic_string::append");
  ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:1257:17: note: suggested alternative: '__socklen_t'
  _M_check_length(size_type(0), __n, "basic_string::append");
  ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  __socklen_t
/usr/include/c++/7/bits/basic_string.h:1258:18: error: '_M_append' was not declared in this scope
  return _M_append(__s, __n);
         ~~~~~~~~~^~~~~~~~~~
/usr/include/c++/7/bits/basic_string.h:1258:18: note: suggested alternative: 'append'
  return _M_append(__s, __n);
         ~~~~~~~~~^~~~~~~~~~
         append
foo.cc: In function 'void init()':
foo.cc:18:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&n);
     ~~~~~^~~~~~~~~
[Hydro](https://hydro.ac)提供评测服务

信息

递交者
类型
递交
题目
P1023 Victoria的舞会3
语言
C++
递交时间
2021-09-03 19:27:57
评测时间
2021-09-03 19:27:57
评测机
分数
0
总耗时
0ms
峰值内存
0 Bytes