In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33,
from /usr/include/c++/10/bits/allocator.h:46,
from /usr/include/c++/10/string:41,
from /usr/include/c++/10/bits/locale_classes.h:40,
from /usr/include/c++/10/bits/ios_base.h:41,
from /usr/include/c++/10/ios:42,
from /usr/include/c++/10/istream:38,
from /usr/include/c++/10/sstream:38,
from /usr/include/c++/10/complex:45,
from /usr/include/c++/10/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
from boat.cpp:1:
/usr/include/c++/10/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = Seg; _Args = {int, int}; _Tp = Seg]':
/usr/include/c++/10/bits/alloc_traits.h:512:17: required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = Seg; _Args = {int, int}; _Tp = Seg; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<Seg>]'
/usr/include/c++/10/bits/vector.tcc:115:30: required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int, int}; _Tp = Seg; _Alloc = std::allocator<Seg>; std::vector<_Tp, _Alloc>::reference = Seg&]'
boat.cpp:59:34: required from here
/usr/include/c++/10/ext/new_allocator.h:150:4: error: new initializer expression list treated as compound expression [-fpermissive]
150 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/ext/new_allocator.h:150:4: error: no matching function for call to 'Seg::Seg(int)'
boat.cpp:7:8: note: candidate: 'Seg::Seg()'
7 | struct Seg {
| ^~~
boat.cpp:7:8: note: candidate expects 0 arguments, 1 provided
boat.cpp:7:8: note: candidate: 'constexpr Seg::Seg(const Seg&)'
boat.cpp:7:8: note: no known conversion for argument 1 from 'int' to 'const Seg&'
boat.cpp:7:8: note: candidate: 'constexpr Seg::Seg(Seg&&)'
boat.cpp:7:8: note: no known conversion for argument 1 from 'int' to 'Seg&&'
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33,
from /usr/include/c++/10/bits/allocator.h:46,
from /usr/include/c++/10/string:41,
from /usr/include/c++/10/bits/locale_classes.h:40,
from /usr/include/c++/10/bits/ios_base.h:41,
from /usr/include/c++/10/ios:42,
from /usr/include/c++/10/istream:38,
from /usr/include/c++/10/sstream:38,
from /usr/include/c++/10/complex:45,
from /usr/include/c++/10/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
from boat.cpp:1:
/usr/include/c++/10/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = Seg; _Args = {int&, int&}; _Tp = Seg]':
/usr/include/c++/10/bits/alloc_traits.h:512:17: required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = Seg; _Args = {int&, int&}; _Tp = Seg; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<Seg>]'
/usr/include/c++/10/bits/vector.tcc:115:30: required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int&, int&}; _Tp = Seg; _Alloc = std::allocator<Seg>; std::vector<_Tp, _Alloc>::reference = Seg&]'
boat.cpp:80:48: required from here
/usr/include/c++/10/ext/new_allocator.h:150:4: error: new initializer expression list treated as compound expression [-fpermissive]
150 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/ext/new_allocator.h:150:4: error: no matching function for call to 'Seg::Seg(int&)'
boat.cpp:7:8: note: candidate: 'Seg::Seg()'
7 | struct Seg {
| ^~~
boat.cpp:7:8: note: candidate expects 0 arguments, 1 provided
boat.cpp:7:8: note: candidate: 'constexpr Seg::Seg(const Seg&)'
boat.cpp:7:8: note: no known conversion for argument 1 from 'int' to 'const Seg&'
boat.cpp:7:8: note: candidate: 'constexpr Seg::Seg(Seg&&)'
boat.cpp:7:8: note: no known conversion for argument 1 from 'int' to 'Seg&&'
In file included from /usr/include/x86_64-linux-gnu/c++/10/bits/c++allocator.h:33,
from /usr/include/c++/10/bits/allocator.h:46,
from /usr/include/c++/10/string:41,
from /usr/include/c++/10/bits/locale_classes.h:40,
from /usr/include/c++/10/bits/ios_base.h:41,
from /usr/include/c++/10/ios:42,
from /usr/include/c++/10/istream:38,
from /usr/include/c++/10/sstream:38,
from /usr/include/c++/10/complex:45,
from /usr/include/c++/10/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
from boat.cpp:1:
/usr/include/c++/10/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = Seg; _Args = {int&, int}; _Tp = Seg]':
/usr/include/c++/10/bits/alloc_traits.h:512:17: required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = Seg; _Args = {int&, int}; _Tp = Seg; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<Seg>]'
/usr/include/c++/10/bits/vector.tcc:115:30: required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int&, int}; _Tp = Seg; _Alloc = std::allocator<Seg>; std::vector<_Tp, _Alloc>::reference = Seg&]'
boat.cpp:87:54: required from here
/usr/include/c++/10/ext/new_allocator.h:150:4: error: new initializer expression list treated as compound expression [-fpermissive]
150 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/ext/new_allocator.h:150:4: error: no matching function for call to 'Seg::Seg(int)'
boat.cpp:7:8: note: candidate: 'Seg::Seg()'
7 | struct Seg {
| ^~~
boat.cpp:7:8: note: candidate expects 0 arguments, 1 provided
boat.cpp:7:8: note: candidate: 'constexpr Seg::Seg(const Seg&)'
boat.cpp:7:8: note: no known conversion for argument 1 from 'int' to 'const Seg&'
boat.cpp:7:8: note: candidate: 'constexpr Seg::Seg(Seg&&)'
boat.cpp:7:8: note: no known conversion for argument 1 from 'int' to 'Seg&&'