bubblesort2.cpp: In function 'std::vector<int> countScans(std::vector<int>, std::vector<int>, std::vector<int>)':
bubblesort2.cpp:38:19: error: no matching function for call to 'std::vector<int>::insert(std::vector<int>::iterator, std::vector<int>::iterator)'
38 | ids.insert(V.begin(), V.end());
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/vector:66,
from bubblesort2.h:1,
from bubblesort2.cpp:1:
/usr/include/c++/13/bits/stl_vector.h:1482:9: note: candidate: 'template<class _InputIterator, class> constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, _InputIterator, _InputIterator) [with <template-parameter-2-2> = _InputIterator; _Tp = int; _Alloc = std::allocator<int>]'
1482 | insert(const_iterator __position, _InputIterator __first,
| ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1482:9: note: template argument deduction/substitution failed:
bubblesort2.cpp:38:19: note: candidate expects 3 arguments, 2 provided
38 | ids.insert(V.begin(), V.end());
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/13/vector:72:
/usr/include/c++/13/bits/vector.tcc:133:5: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator; value_type = int]'
133 | vector<_Tp, _Alloc>::
| ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/vector.tcc:135:57: note: no known conversion for argument 2 from 'std::vector<int>::iterator' to 'const std::vector<int>::value_type&' {aka 'const int&'}
135 | insert(const_iterator __position, const value_type& __x)
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1393:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, value_type&&) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator; value_type = int]'
1393 | insert(const_iterator __position, value_type&& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1393:54: note: no known conversion for argument 2 from 'std::vector<int>::iterator' to 'std::vector<int>::value_type&&' {aka 'int&&'}
1393 | insert(const_iterator __position, value_type&& __x)
| ~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1411:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, std::initializer_list<_Tp>) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator]'
1411 | insert(const_iterator __position, initializer_list<value_type> __l)
| ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1411:70: note: no known conversion for argument 2 from 'std::vector<int>::iterator' to 'std::initializer_list<int>'
1411 | insert(const_iterator __position, initializer_list<value_type> __l)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/stl_vector.h:1437:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(const_iterator, size_type, const value_type&) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator; size_type = long unsigned int; value_type = int]'
1437 | insert(const_iterator __position, size_type __n, const value_type& __x)
| ^~~~~~
/usr/include/c++/13/bits/stl_vector.h:1437:7: note: candidate expects 3 arguments, 2 provided
bubblesort2.cpp:41:18: error: no matching function for call to 'std::vector<int>::erase(int&)'
41 | ids.erase(n = int(std::unique(ids.begin(), ids.end()) - ids.begin()));
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1534:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator]'
1534 | erase(const_iterator __position)
| ^~~~~
/usr/include/c++/13/bits/stl_vector.h:1534:28: note: no known conversion for argument 1 from 'int' to 'std::vector<int>::const_iterator'
1534 | erase(const_iterator __position)
| ~~~~~~~~~~~~~~~^~~~~~~~~~
/usr/include/c++/13/bits/stl_vector.h:1562:7: note: candidate: 'constexpr std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::erase(const_iterator, const_iterator) [with _Tp = int; _Alloc = std::allocator<int>; iterator = std::vector<int>::iterator; const_iterator = std::vector<int>::const_iterator]'
1562 | erase(const_iterator __first, const_iterator __last)
| ^~~~~
/usr/include/c++/13/bits/stl_vector.h:1562:7: note: candidate expects 2 arguments, 1 provided
bubblesort2.cpp:42:17: error: no matching function for call to 'fenwick::fenwick()'
42 | fenwick fen;
| ^~~
bubblesort2.cpp:15:9: note: candidate: 'fenwick::fenwick(int)'
15 | fenwick(int n_) {
| ^~~~~~~
bubblesort2.cpp:15:9: note: candidate expects 1 argument, 0 provided
bubblesort2.cpp:12:8: note: candidate: 'constexpr fenwick::fenwick(const fenwick&)'
12 | struct fenwick {
| ^~~~~~~
bubblesort2.cpp:12:8: note: candidate expects 1 argument, 0 provided
bubblesort2.cpp:12:8: note: candidate: 'constexpr fenwick::fenwick(fenwick&&)'
bubblesort2.cpp:12:8: note: candidate expects 1 argument, 0 provided