제출 #1165052

#제출 시각아이디문제언어결과실행 시간메모리
1165052chikien2009Detecting Molecules (IOI16_molecules)C++20
컴파일 에러
0 ms0 KiB
include <bits/stdc++.h> #include "molecules.h" using namespace std; // inline void setup() // { // #ifndef ONLINE_JUDGE // freopen("test.inp", "r", stdin); // freopen("test.out", "w", stdout); // #endif // ios_base::sync_with_stdio(0); // cin.tie(0); // cout.tie(0); // } vector<int> find_subset(short l, short u, vector<int> w) { queue<short> q; vector<int> res, vector<short> p[w.size()]; short sum = 0, x = -1; for (short i = 0; i < w.size(); ++i) { p[i].resize(u + 1); for (short j = 0; j <= u; ++j) { p[i][j] = (i == 0 ? -1 : p[i - 1][j]); } for (short j = u; j >= w[i]; --j) { if (p[i][j - w[i]] != -1 || j == w[i]) { p[i][j] = i; if (l <= j && x == -1) { x = j; } } } } for (short i = w.size() - 1, j; i >= 0 && x > 0;) { j = p[i][x]; res.push_back(p[i][x]); while (0 <= i && p[i][x] == res.back()) { i--; } x -= w[res.back()]; } reverse(res.begin(), res.end()); return res; } // short main() // { // setup(); // short n, u, l; // vector<short> v; // cin >> n >> l >> u; // v.resize(n); // for (short i = 0; i < n; ++i) // { // cin >> v[i]; // } // v = find_subset(l, u, v); // for (auto & i : v) // { // cout << i << " "; // } // return 0; // }

컴파일 시 표준 에러 (stderr) 메시지

molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:10: error: 'bits' was not declared in this scope
    1 | include <bits/stdc++.h>
      |          ^~~~
molecules.cpp:1:15: error: 'stdc' was not declared in this scope; did you mean 'std'?
    1 | include <bits/stdc++.h>
      |               ^~~~
      |               std
molecules.cpp:1:1: error: 'include' does not name a type
    1 | include <bits/stdc++.h>
      | ^~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:62,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of entity
  162 |   __is_null_pointer(std::nullptr_t)
      |                                   ^
/usr/include/c++/11/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)'
  157 |     __is_null_pointer(_Type)
      |     ^~~~~~~~~~~~~~~~~
/usr/include/c++/11/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std'
  162 |   __is_null_pointer(std::nullptr_t)
      |                          ^~~~~~~~~
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/type_traits:227:27: error: 'size_t' has not been declared
  227 |   template <typename _Tp, size_t = sizeof(_Tp)>
      |                           ^~~~~~
/usr/include/c++/11/type_traits:431:26: error: 'std::size_t' has not been declared
  431 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:432:25: error: '_Size' was not declared in this scope
  432 |     struct is_array<_Tp[_Size]>
      |                         ^~~~~
/usr/include/c++/11/type_traits:432:31: error: template argument 1 is invalid
  432 |     struct is_array<_Tp[_Size]>
      |                               ^
/usr/include/c++/11/type_traits:537:42: error: 'nullptr_t' is not a member of 'std'
  537 |     struct __is_null_pointer_helper<std::nullptr_t>
      |                                          ^~~~~~~~~
/usr/include/c++/11/type_traits:537:51: error: template argument 1 is invalid
  537 |     struct __is_null_pointer_helper<std::nullptr_t>
      |                                                   ^
/usr/include/c++/11/type_traits:1361:37: error: 'size_t' is not a member of 'std'
 1361 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1361:57: error: template argument 1 is invalid
 1361 |     : public integral_constant<std::size_t, alignof(_Tp)>
      |                                                         ^
/usr/include/c++/11/type_traits:1370:37: error: 'size_t' is not a member of 'std'
 1370 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1370:46: error: template argument 1 is invalid
 1370 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/11/type_traits:1372:26: error: 'std::size_t' has not been declared
 1372 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:1373:21: error: '_Size' was not declared in this scope
 1373 |     struct rank<_Tp[_Size]>
      |                     ^~~~~
/usr/include/c++/11/type_traits:1373:27: error: template argument 1 is invalid
 1373 |     struct rank<_Tp[_Size]>
      |                           ^
/usr/include/c++/11/type_traits:1374:37: error: 'size_t' is not a member of 'std'
 1374 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1374:65: error: template argument 1 is invalid
 1374 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/11/type_traits:1378:37: error: 'size_t' is not a member of 'std'
 1378 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1378:65: error: template argument 1 is invalid
 1378 |     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
      |                                                                 ^
/usr/include/c++/11/type_traits:1383:37: error: 'size_t' is not a member of 'std'
 1383 |     : public integral_constant<std::size_t, 0> { };
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1383:46: error: template argument 1 is invalid
 1383 |     : public integral_constant<std::size_t, 0> { };
      |                                              ^
/usr/include/c++/11/type_traits:1385:42: error: 'std::size_t' has not been declared
 1385 |   template<typename _Tp, unsigned _Uint, std::size_t _Size>
      |                                          ^~~
/usr/include/c++/11/type_traits:1386:23: error: '_Size' was not declared in this scope
 1386 |     struct extent<_Tp[_Size], _Uint>
      |                       ^~~~~
/usr/include/c++/11/type_traits:1386:36: error: template argument 1 is invalid
 1386 |     struct extent<_Tp[_Size], _Uint>
      |                                    ^
/usr/include/c++/11/type_traits:1387:37: error: 'size_t' is not a member of 'std'
 1387 |     : public integral_constant<std::size_t,
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1388:45: error: '_Size' was not declared in this scope
 1388 |                                _Uint == 0 ? _Size : extent<_Tp,
      |                                             ^~~~~
/usr/include/c++/11/type_traits:1389:77: error: template argument 1 is invalid
 1389 |                                                            _Uint - 1>::value>
      |                                                                             ^
/usr/include/c++/11/type_traits:1394:37: error: 'size_t' is not a member of 'std'
 1394 |     : public integral_constant<std::size_t,
      |                                     ^~~~~~
/usr/include/c++/11/type_traits:1396:73: error: template argument 1 is invalid
 1396 |                                                        _Uint - 1>::value>
      |                                                                         ^
/usr/include/c++/11/type_traits:1759:26: error: 'size_t' does not name a type
 1759 |       { static constexpr size_t __size = sizeof(_Tp); };
      |                          ^~~~~~
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/type_traits:1:1: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // C++11 <type_traits> -*- C++ -*-
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/type_traits:1761:14: error: 'size_t' has not been declared
 1761 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |              ^~~~~~
/usr/include/c++/11/type_traits:1761:48: error: '_Sz' was not declared in this scope
 1761 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |                                                ^~~
/usr/include/c++/11/type_traits:1762:14: error: no default argument for '_Tp'
 1762 |       struct __select;
      |              ^~~~~~~~
/usr/include/c++/11/type_traits:1764:14: error: 'size_t' has not been declared
 1764 |     template<size_t _Sz, typename _Uint, typename... _UInts>
      |              ^~~~~~
/usr/include/c++/11/type_traits:1765:23: error: '_Sz' was not declared in this scope
 1765 |       struct __select<_Sz, _List<_Uint, _UInts...>, true>
      |                       ^~~
/usr/include/c++/11/type_traits:1765:57: error: template argument 1 is invalid
 1765 |       struct __select<_Sz, _List<_Uint, _UInts...>, true>
      |                                                         ^
/usr/include/c++/11/type_traits:1768:14: error: 'size_t' has not been declared
 1768 |     template<size_t _Sz, typename _Uint, typename... _UInts>
      |              ^~~~~~
/usr/include/c++/11/type_traits:1769:23: error: '_Sz' was not declared in this scope
 1769 |       struct __select<_Sz, _List<_Uint, _UInts...>, false>
      |                       ^~~
/usr/include/c++/11/type_traits:1769:58: error: template argument 1 is invalid
 1769 |       struct __select<_Sz, _List<_Uint, _UInts...>, false>
      |                                                          ^
/usr/include/c++/11/type_traits:1770:18: error: '_Sz' was not declared in this scope
 1770 |       : __select<_Sz, _List<_UInts...>>
      |                  ^~~
/usr/include/c++/11/type_traits:1770:38: error: template argument 1 is invalid
 1770 |       : __select<_Sz, _List<_UInts...>>
      |                                      ^~
/usr/include/c++/11/type_traits:1761:60: error: '__size' is not a member of 'std::__make_unsigned_selector_base::_List<unsigned char, short unsigned int, unsigned int, long unsigned int, long long unsigned int>'
 1761 |     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
      |                                                            ^~~~~~
/usr/include/c++/11/type_traits:1783:68: error: template argument 3 is invalid
 1783 |       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
      |                                                                    ^
/usr/include/c++/11/type_traits:1787:47: error: '__unsigned_type' was not declared in this scope
 1787 |         = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
      |                                               ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1787:62: error: template argument 2 is invalid
 1787 |         = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
      |                                                              ^
/usr/include/c++/11/type_traits:1799:68: error: '__type' in 'class std::__make_unsigned_selector<wchar_t, false, true>' does not name a type
 1799 |         = typename __make_unsigned_selector<wchar_t, false, true>::__type;
      |                                                                    ^~~~~~
/usr/include/c++/11/type_traits:1808:68: error: '__type' in 'class std::__make_unsigned_selector<char8_t, false, true>' does not name a type
 1808 |         = typename __make_unsigned_selector<char8_t, false, true>::__type;
      |                                                                    ^~~~~~
/usr/include/c++/11/type_traits:1816:69: error: '__type' in 'class std::__make_unsigned_selector<char16_t, false, true>' does not name a type
 1816 |         = typename __make_unsigned_selector<char16_t, false, true>::__type;
      |                                                                     ^~~~~~
/usr/include/c++/11/type_traits:1823:69: error: '__type' in 'class std::__make_unsigned_selector<char32_t, false, true>' does not name a type
 1823 |         = typename __make_unsigned_selector<char32_t, false, true>::__type;
      |                                                                     ^~~~~~
/usr/include/c++/11/type_traits: In instantiation of 'class std::__make_unsigned_selector<wchar_t, true, false>':
/usr/include/c++/11/type_traits:1912:62:   required from 'class std::__make_signed_selector<wchar_t, false, true>'
/usr/include/c++/11/type_traits:1927:57:   required from here
/usr/include/c++/11/type_traits:1744:13: error: no type named '__type' in 'struct std::__make_unsigned<wchar_t>'
 1744 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1748:13: error: no type named '__type' in 'struct std::__make_unsigned<wchar_t>'
 1748 |       using __type
      |             ^~~~~~
/usr/include/c++/11/type_traits:1927:66: error: invalid combination of multiple type-specifiers
 1927 |         = typename __make_signed_selector<wchar_t, false, true>::__type;
      |                                                                  ^~~~~~
/usr/include/c++/11/type_traits: In instantiation of 'class std::__make_unsigned_selector<char8_t, true, false>':
/usr/include/c++/11/type_traits:1912:62:   required from 'class std::__make_signed_selector<char8_t, false, true>'
/usr/include/c++/11/type_traits:1936:57:   required from here
/usr/include/c++/11/type_traits:1744:13: error: no type named '__type' in 'struct std::__make_unsigned<char8_t>'
 1744 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1748:13: error: no type named '__type' in 'struct std::__make_unsigned<char8_t>'
 1748 |       using __type
      |             ^~~~~~
/usr/include/c++/11/type_traits:1936:66: error: invalid combination of multiple type-specifiers
 1936 |         = typename __make_signed_selector<char8_t, false, true>::__type;
      |                                                                  ^~~~~~
/usr/include/c++/11/type_traits: In instantiation of 'class std::__make_unsigned_selector<char16_t, true, false>':
/usr/include/c++/11/type_traits:1912:62:   required from 'class std::__make_signed_selector<char16_t, false, true>'
/usr/include/c++/11/type_traits:1944:58:   required from here
/usr/include/c++/11/type_traits:1744:13: error: no type named '__type' in 'struct std::__make_unsigned<char16_t>'
 1744 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1748:13: error: no type named '__type' in 'struct std::__make_unsigned<char16_t>'
 1748 |       using __type
      |             ^~~~~~
/usr/include/c++/11/type_traits:1944:67: error: invalid combination of multiple type-specifiers
 1944 |         = typename __make_signed_selector<char16_t, false, true>::__type;
      |                                                                   ^~~~~~
/usr/include/c++/11/type_traits: In instantiation of 'class std::__make_unsigned_selector<char32_t, true, false>':
/usr/include/c++/11/type_traits:1912:62:   required from 'class std::__make_signed_selector<char32_t, false, true>'
/usr/include/c++/11/type_traits:1951:58:   required from here
/usr/include/c++/11/type_traits:1744:13: error: no type named '__type' in 'struct std::__make_unsigned<char32_t>'
 1744 |       using __unsigned_type
      |             ^~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:1748:13: error: no type named '__type' in 'struct std::__make_unsigned<char32_t>'
 1748 |       using __type
      |             ^~~~~~
/usr/include/c++/11/type_traits:1951:67: error: invalid combination of multiple type-specifiers
 1951 |         = typename __make_signed_selector<char32_t, false, true>::__type;
      |                                                                   ^~~~~~
/usr/include/c++/11/type_traits:1984:26: error: 'std::size_t' has not been declared
 1984 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:1985:30: error: '_Size' was not declared in this scope
 1985 |     struct remove_extent<_Tp[_Size]>
      |                              ^~~~~
/usr/include/c++/11/type_traits:1985:36: error: template argument 1 is invalid
 1985 |     struct remove_extent<_Tp[_Size]>
      |                                    ^
/usr/include/c++/11/type_traits:1997:26: error: 'std::size_t' has not been declared
 1997 |   template<typename _Tp, std::size_t _Size>
      |                          ^~~
/usr/include/c++/11/type_traits:1998:35: error: '_Size' was not declared in this scope
 1998 |     struct remove_all_extents<_Tp[_Size]>
      |                                   ^~~~~
/usr/include/c++/11/type_traits:1998:41: error: template argument 1 is invalid
 1998 |     struct remove_all_extents<_Tp[_Size]>
      |                                         ^
/usr/include/c++/11/type_traits:2056:12: error: 'std::size_t' has not been declared
 2056 |   template<std::size_t _Len>
      |            ^~~
/usr/include/c++/11/type_traits:2061:30: error: '_Len' was not declared in this scope
 2061 |         unsigned char __data[_Len];
      |                              ^~~~
/usr/include/c++/11/type_traits:2076:12: error: 'std::size_t' has not been declared
 2076 |   template<std::size_t _Len, std::size_t _Align =
      |            ^~~
/usr/include/c++/11/type_traits:2076:30: error: 'std::size_t' has not been declared
 2076 |   template<std::size_t _Len, std::size_t _Align =
      |                              ^~~
/usr/include/c++/11/type_traits:2077:55: error: '_Len' was not declared in this scope
 2077 |            __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                       ^~~~
/usr/include/c++/11/type_traits:2077:59: error: template argument 1 is invalid
 2077 |            __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                           ^
/usr/include/c++/11/type_traits:2082:30: error: '_Len' was not declared in this scope
 2082 |         unsigned char __data[_Len];
      |                              ^~~~
/usr/include/c++/11/type_traits:2083:44: error: '_Align' was not declared in this scope
 2083 |         struct __attribute__((__aligned__((_Align)))) { } __align;
      |                                            ^~~~~~
/usr/include/c++/11/type_traits:2090:20: error: 'size_t' does not name a type
 2090 |       static const size_t _S_alignment = 0;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2090:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2091:20: error: 'size_t' does not name a type
 2091 |       static const size_t _S_size = 0;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2091:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2097:20: error: 'size_t' does not name a type
 2097 |       static const size_t _S_alignment =
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2097:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2100:20: error: 'size_t' does not name a type
 2100 |       static const size_t _S_size =
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2100:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2115:13: error: 'size_t' has not been declared
 2115 |   template <size_t _Len, typename... _Types>
      |             ^~~~~~
/usr/include/c++/11/type_traits:2122:20: error: 'size_t' does not name a type
 2122 |       static const size_t _S_len = _Len > __strictest::_S_size
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2122:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2126:20: error: 'size_t' does not name a type
 2126 |       static const size_t alignment_value = __strictest::_S_alignment;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:2126:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2128:40: error: '_S_len' was not declared in this scope
 2128 |       typedef typename aligned_storage<_S_len, alignment_value>::type type;
      |                                        ^~~~~~
/usr/include/c++/11/type_traits:2128:48: error: 'alignment_value' was not declared in this scope; did you mean 'alignment_of'?
 2128 |       typedef typename aligned_storage<_S_len, alignment_value>::type type;
      |                                                ^~~~~~~~~~~~~~~
      |                                                alignment_of
/usr/include/c++/11/type_traits:2128:63: error: template argument 1 is invalid
 2128 |       typedef typename aligned_storage<_S_len, alignment_value>::type type;
      |                                                               ^
/usr/include/c++/11/type_traits:2128:63: error: template argument 2 is invalid
/usr/include/c++/11/type_traits:2131:13: error: 'size_t' has not been declared
 2131 |   template <size_t _Len, typename... _Types>
      |             ^~~~~~
/usr/include/c++/11/type_traits:2132:11: error: 'size_t' does not name a type
 2132 |     const size_t aligned_union<_Len, _Types...>::alignment_value;
      |           ^~~~~~
/usr/include/c++/11/type_traits:2132:11: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:2566:12: error: 'size_t' has not been declared
 2566 |   template<size_t _Len, size_t _Align =
      |            ^~~~~~
/usr/include/c++/11/type_traits:2566:25: error: 'size_t' has not been declared
 2566 |   template<size_t _Len, size_t _Align =
      |                         ^~~~~~
/usr/include/c++/11/type_traits:2567:56: error: '_Len' was not declared in this scope
 2567 |             __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                        ^~~~
/usr/include/c++/11/type_traits:2567:60: error: template argument 1 is invalid
 2567 |             __alignof__(typename __aligned_storage_msa<_Len>::__type)>
      |                                                            ^
/usr/include/c++/11/type_traits:2568:56: error: '_Len' was not declared in this scope
 2568 |     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
      |                                                        ^~~~
/usr/include/c++/11/type_traits:2568:62: error: '_Align' was not declared in this scope
 2568 |     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
      |                                                              ^~~~~~
/usr/include/c++/11/type_traits:2568:68: error: template argument 1 is invalid
 2568 |     using aligned_storage_t = typename aligned_storage<_Len, _Align>::type;
      |                                                                    ^
/usr/include/c++/11/type_traits:2568:68: error: template argument 2 is invalid
/usr/include/c++/11/type_traits:2570:13: error: 'size_t' has not been declared
 2570 |   template <size_t _Len, typename... _Types>
      |             ^~~~~~
/usr/include/c++/11/type_traits:2571:52: error: '_Len' was not declared in this scope
 2571 |     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
      |                                                    ^~~~
/usr/include/c++/11/type_traits:2571:67: error: template argument 1 is invalid
 2571 |     using aligned_union_t = typename aligned_union<_Len, _Types...>::type;
      |                                                                   ^
/usr/include/c++/11/type_traits:2680:26: error: 'size_t' has not been declared
 2680 |   template<typename _Tp, size_t _Nm>
      |                          ^~~~~~
/usr/include/c++/11/type_traits:2684:21: error: '_Nm' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/type_traits:2684:24: error: 'template<class _Tp, <declaration error> > constexpr std::__enable_if_t<std::__is_swappable<_Tp>::value> std::swap' conflicts with a previous declaration
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                        ^
/usr/include/c++/11/type_traits:2676:5: note: previous declaration 'constexpr std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&)'
 2676 |     swap(_Tp&, _Tp&)
      |     ^~~~
/usr/include/c++/11/type_traits:2684:16: error: '__a' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                ^~~
/usr/include/c++/11/type_traits:2684:21: error: '_Nm' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/type_traits:2684:33: error: '__b' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                 ^~~
/usr/include/c++/11/type_traits:2684:38: error: '_Nm' was not declared in this scope
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                      ^~~
/usr/include/c++/11/type_traits:2684:43: error: expected ';' before 'noexcept'
 2684 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                           ^
      |                                           ;
 2685 |     noexcept(__is_nothrow_swappable<_Tp>::value);
      |     ~~~~~~~~                               
/usr/include/c++/11/type_traits:3244:20: error: 'size_t' does not name a type
 3244 |   inline constexpr size_t alignment_of_v = alignment_of<_Tp>::value;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:3244:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:3246:20: error: 'size_t' does not name a type
 3246 |   inline constexpr size_t rank_v = rank<_Tp>::value;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:3246:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/type_traits:3248:20: error: 'size_t' does not name a type
 3248 |   inline constexpr size_t extent_v = extent<_Tp, _Idx>::value;
      |                    ^~~~~~
/usr/include/c++/11/type_traits:3248:20: note: 'size_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/move.h:212:26: error: 'size_t' has not been declared
  212 |   template<typename _Tp, size_t _Nm>
      |                          ^~~~~~
/usr/include/c++/11/bits/move.h:220:21: error: '_Nm' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/bits/move.h:220:24: error: 'template<class _Tp, <declaration error> > constexpr const typename std::enable_if<std::__is_swappable<_Tp>::value, void>::type std::swap' conflicts with a previous declaration
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                        ^
/usr/include/c++/11/bits/move.h:196:5: note: previous declaration 'constexpr std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&)'
  196 |     swap(_Tp& __a, _Tp& __b)
      |     ^~~~
/usr/include/c++/11/bits/move.h:220:16: error: '__a' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                ^~~
/usr/include/c++/11/bits/move.h:220:21: error: '_Nm' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                     ^~~
/usr/include/c++/11/bits/move.h:220:33: error: '__b' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                 ^~~
/usr/include/c++/11/bits/move.h:220:38: error: '_Nm' was not declared in this scope
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                      ^~~
/usr/include/c++/11/bits/move.h:220:43: error: expected ';' before 'noexcept'
  220 |     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
      |                                           ^
      |                                           ;
In file included from /usr/include/c++/11/compare:39,
                 from /usr/include/c++/11/bits/stl_pair.h:65,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/concepts:211:46: error: 'size_t' has not been declared
  211 |         template<typename _Tp, typename _Up, size_t _Num>
      |                                              ^~~~~~
/usr/include/c++/11/concepts:216:34: error: '_Num' was not declared in this scope
  216 |           operator()(_Tp (&__e1)[_Num], _Up (&__e2)[_Num]) const
      |                                  ^~~~
/usr/include/c++/11/concepts:216:39: error: expected ')' before ',' token
  216 |           operator()(_Tp (&__e1)[_Num], _Up (&__e2)[_Num]) const
      |                     ~                 ^
      |                                       )
/usr/include/c++/11/concepts:216:39: error: expected ';' before ',' token
  216 |           operator()(_Tp (&__e1)[_Num], _Up (&__e2)[_Num]) const
      |                                       ^
      |                                       ;
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/stl_pair.h:92:12: error: 'size_t' has not been declared
   92 |   template<size_t...>
      |            ^~~~~~
/usr/include/c++/11/bits/stl_pair.h:449:36: error: 'size_t' has not been declared
  449 |       template<typename... _Args1, size_t... _Indexes1,
      |                                    ^~~~~~
/usr/include/c++/11/bits/stl_pair.h:450:36: error: 'size_t' has not been declared
  450 |                typename... _Args2, size_t... _Indexes2>
      |                                    ^~~~~~
/usr/include/c++/11/bits/stl_pair.h:453:27: error: '_Indexes1' was not declared in this scope
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                           ^~~~~~~~~
/usr/include/c++/11/bits/stl_pair.h:453:36: error: expected parameter pack before '...'
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                    ^~~
/usr/include/c++/11/bits/stl_pair.h:453:39: error: template argument 1 is invalid
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                       ^
/usr/include/c++/11/bits/stl_pair.h:453:55: error: '_Indexes2' was not declared in this scope
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                                       ^~~~~~~~~
/usr/include/c++/11/bits/stl_pair.h:453:64: error: expected parameter pack before '...'
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                                                ^~~
/usr/include/c++/11/bits/stl_pair.h:453:67: error: template argument 1 is invalid
  453 |              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
      |                                                                   ^
In file included from /usr/include/c++/11/bits/iterator_concepts.h:36,
                 from /usr/include/c++/11/bits/stl_iterator_base_types.h:71,
                 from /usr/include/c++/11/bits/stl_algobase.h:65,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/ptr_traits.h:119:27: error: 'ptrdiff_t' was not declared in this scope
  119 |         = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>;
      |                           ^~~~~~~~~
/usr/include/c++/11/bits/ptr_traits.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
  +++ |+#include <cstddef>
    1 | // Pointer Traits -*- C++ -*-
/usr/include/c++/11/bits/ptr_traits.h:119:61: error: template argument 1 is invalid
  119 |         = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>;
      |                                                             ^
/usr/include/c++/11/bits/ptr_traits.h:138:15: error: 'ptrdiff_t' does not name a type
  138 |       typedef ptrdiff_t difference_type;
      |               ^~~~~~~~~
/usr/include/c++/11/bits/ptr_traits.h:138:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/bits/stl_iterator_base_types.h:71,
                 from /usr/include/c++/11/bits/stl_algobase.h:65,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/iterator_concepts.h:153:31: error: 'ptrdiff_t' does not name a type
  153 |     { using difference_type = ptrdiff_t; };
      |                               ^~~~~~~~~
/usr/include/c++/11/bits/iterator_concepts.h:38:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   37 | #include <bits/ranges_cmp.h>    // identity, ranges::less
  +++ |+#include <cstddef>
   38 | 
In file included from /usr/include/c++/11/bits/stl_algobase.h:65,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/stl_iterator_base_types.h:125:67: error: 'ptrdiff_t' does not name a type
  125 |   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
      |                                                                   ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_types.h:72:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   71 | # include <bits/iterator_concepts.h>
  +++ |+#include <cstddef>
   72 | #endif
/usr/include/c++/11/bits/stl_iterator_base_types.h:203:33: error: 'ptrdiff_t' does not name a type
  203 |       using difference_type   = ptrdiff_t;
      |                                 ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_types.h:203:33: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/bits/stl_algobase.h:66,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:110:5: error: 'ptrdiff_t' does not name a type
  110 |     ptrdiff_t
      |     ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:66:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   65 | #include <debug/assertions.h>
  +++ |+#include <cstddef>
   66 | 
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:116:5: error: 'ptrdiff_t' does not name a type
  116 |     ptrdiff_t
      |     ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator_base_funcs.h:116:5: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/bits/stl_iterator.h:82,
                 from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/new:89:25: error: found ':' in nested-name-specifier, expected '::'
   89 |   enum class align_val_t: size_t {};
      |                         ^
      |                         ::
/usr/include/c++/11/new:89:27: error: 'size_t' in 'enum class std::align_val_t' does not name a type
   89 |   enum class align_val_t: size_t {};
      |                           ^~~~~~
/usr/include/c++/11/new:89:34: error: expected unqualified-id before '{' token
   89 |   enum class align_val_t: size_t {};
      |                                  ^
/usr/include/c++/11/new:126:26: error: declaration of 'operator new' as non-function
  126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                          ^~~~~~~~
/usr/include/c++/11/new:126:44: error: 'size_t' is not a member of 'std'
  126 | _GLIBCXX_NODISCARD void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                                            ^~~~~~
/usr/include/c++/11/new:127:41: error: attributes after parenthesized initializer ignored [-fpermissive]
  127 |   __attribute__((__externally_visible__));
      |                                         ^
/usr/include/c++/11/new:128:26: error: declaration of 'operator new []' as non-function
  128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                          ^~~~~~~~
/usr/include/c++/11/new:128:46: error: 'size_t' is not a member of 'std'
  128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
      |                                              ^~~~~~
/usr/include/c++/11/new:129:41: error: attributes after parenthesized initializer ignored [-fpermissive]
  129 |   __attribute__((__externally_visible__));
      |                                         ^
/usr/include/c++/11/new:135:29: error: 'std::size_t' has not been declared
  135 | void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
      |                             ^~~
/usr/include/c++/11/new:137:31: error: 'std::size_t' has not been declared
  137 | void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT
      |                               ^~~
/usr/include/c++/11/new:140:26: error: declaration of 'operator new' as non-function
  140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                          ^~~~~~~~
/usr/include/c++/11/new:140:44: error: 'size_t' is not a member of 'std'
  140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                            ^~~~~~
/usr/include/c++/11/new:140:52: error: expected primary-expression before 'const'
  140 | _GLIBCXX_NODISCARD void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                                    ^~~~~
/usr/include/c++/11/new:142:26: error: declaration of 'operator new []' as non-function
  142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                          ^~~~~~~~
/usr/include/c++/11/new:142:46: error: 'size_t' is not a member of 'std'
  142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                              ^~~~~~
/usr/include/c++/11/new:142:54: error: expected primary-expression before 'const'
  142 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
      |                                                      ^~~~~
/usr/include/c++/11/new:149:26: error: declaration of 'operator new' as non-function
  149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t)
      |                          ^~~~~~~~
/usr/include/c++/11/new:149:44: error: 'size_t' is not a member of 'std'
  149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t)
      |                                            ^~~~~~
/usr/include/c++/11/new:149:68: error: expected primary-expression before ')' token
  149 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t)
      |                                                                    ^
/usr/include/c++/11/new:150:73: error: attributes after parenthesized initializer ignored [-fpermissive]
  150 |   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
      |                                                                         ^
/usr/include/c++/11/new:151:26: error: declaration of 'operator new' as non-function
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                          ^~~~~~~~
/usr/include/c++/11/new:151:44: error: 'size_t' is not a member of 'std'
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                            ^~~~~~
/usr/include/c++/11/new:151:68: error: expected primary-expression before ',' token
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                    ^
/usr/include/c++/11/new:151:70: error: expected primary-expression before 'const'
  151 | _GLIBCXX_NODISCARD void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                      ^~~~~
/usr/include/c++/11/new:157:26: error: declaration of 'operator new []' as non-function
  157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t)
      |                          ^~~~~~~~
/usr/include/c++/11/new:157:46: error: 'size_t' is not a member of 'std'
  157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t)
      |                                              ^~~~~~
/usr/include/c++/11/new:157:70: error: expected primary-expression before ')' token
  157 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t)
      |                                                                      ^
/usr/include/c++/11/new:158:73: error: attributes after parenthesized initializer ignored [-fpermissive]
  158 |   __attribute__((__externally_visible__, __alloc_size__ (1), __malloc__));
      |                                                                         ^
/usr/include/c++/11/new:159:26: error: declaration of 'operator new []' as non-function
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                          ^~~~~~~~
/usr/include/c++/11/new:159:46: error: 'size_t' is not a member of 'std'
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                              ^~~~~~
/usr/include/c++/11/new:159:70: error: expected primary-expression before ',' token
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                      ^
/usr/include/c++/11/new:159:72: error: expected primary-expression before 'const'
  159 | _GLIBCXX_NODISCARD void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
      |                                                                        ^~~~~
/usr/include/c++/11/new:166:29: error: 'std::size_t' has not been declared
  166 | void operator delete(void*, std::size_t, std::align_val_t)
      |                             ^~~
/usr/include/c++/11/new:168:31: error: 'std::size_t' has not been declared
  168 | void operator delete[](void*, std::size_t, std::align_val_t)
      |                               ^~~
/usr/include/c++/11/new:174:33: error: declaration of 'operator new' as non-function
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                 ^~~~~~~~
/usr/include/c++/11/new:174:51: error: 'size_t' is not a member of 'std'
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                   ^~~~~~
/usr/include/c++/11/new:174:59: error: expected primary-expression before 'void'
  174 | _GLIBCXX_NODISCARD inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                           ^~~~
/usr/include/c++/11/new:176:33: error: declaration of 'operator new []' as non-function
  176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                 ^~~~~~~~
/usr/include/c++/11/new:176:53: error: 'size_t' is not a member of 'std'
  176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                     ^~~~~~
/usr/include/c++/11/new:176:61: error: expected primary-expression before 'void'
  176 | _GLIBCXX_NODISCARD inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
      |                                                             ^~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:67,
                 from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/stl_iterator.h:658:31: error: 'ptrdiff_t' does not name a type
  658 |       using difference_type = ptrdiff_t;
      |                               ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:86:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   85 | # include <bits/stl_construct.h>
  +++ |+#include <cstddef>
   86 | #endif
/usr/include/c++/11/bits/stl_iterator.h:761:31: error: 'ptrdiff_t' does not name a type
  761 |       using difference_type = ptrdiff_t;
      |                               ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:761:31: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/11/bits/stl_iterator.h:880:31: error: 'ptrdiff_t' does not name a type
  880 |       using difference_type = ptrdiff_t;
      |                               ^~~~~~~~~
/usr/include/c++/11/bits/stl_iterator.h:880:31: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
In file included from /usr/include/c++/11/vector:60,
                 from molecules.h:3,
                 from molecules.cpp:2:
/usr/include/c++/11/bits/stl_algobase.h:90:56: error: 'size_t' has not been declared
   90 |     __memcmp(const _Tp* __first1, const _Up* __first2, size_t __num)
      |                                                        ^~~~~~
/usr/include/c++/11/bits/stl_algobase.h: In static member function 'static constexpr _Tp* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(const _Tp*, const _Tp*, _Tp*)':
/usr/include/c++/11/bits/stl_algobase.h:429:17: error: 'ptrdiff_t' does not name a type
  429 |           const ptrdiff_t _Num = __last - __first;
      |                 ^~~~~~~~~
/usr/include/c++/11/bits/stl_algobase.h:72:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
   71 | #include <bits/pr