prog.cpp: In function ‘ActionType* FindLast(std::vector<ActionType*>&)’:
prog.cpp:42:73: error: no matching function for call to ‘std::reverse_iterator<ActionType*>::reverse_iterator(std::vector<ActionType*>::iterator)’
= std::find_if( std::reverse_iterator<ActionType*>(actions.end()),
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:140:9: note: candidate: template<class _Iter> std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iter>&)
reverse_iterator(const reverse_iterator<_Iter>& __x)
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:140:9: note: template argument deduction/substitution failed:
prog.cpp:42:73: note: ‘std::vector<ActionType*>::iterator {aka __gnu_cxx::__normal_iterator<ActionType**, std::vector<ActionType*> >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
= std::find_if( std::reverse_iterator<ActionType*>(actions.end()),
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:132:7: note: candidate: std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iterator>&) [with _Iterator = ActionType*]
reverse_iterator(const reverse_iterator& __x)
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:132:7: note: no known conversion for argument 1 from ‘std::vector<ActionType*>::iterator {aka __gnu_cxx::__normal_iterator<ActionType**, std::vector<ActionType*> >}’ to ‘const std::reverse_iterator<ActionType*>&’
/usr/include/c++/6/bits/stl_iterator.h:127:7: note: candidate: std::reverse_iterator<_Iterator>::reverse_iterator(std::reverse_iterator<_Iterator>::iterator_type) [with _Iterator = ActionType*; std::reverse_iterator<_Iterator>::iterator_type = ActionType*]
reverse_iterator(iterator_type __x) : current(__x) { }
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:127:7: note: no known conversion for argument 1 from ‘std::vector<ActionType*>::iterator {aka __gnu_cxx::__normal_iterator<ActionType**, std::vector<ActionType*> >}’ to ‘std::reverse_iterator<ActionType*>::iterator_type {aka ActionType*}’
/usr/include/c++/6/bits/stl_iterator.h:121:7: note: candidate: std::reverse_iterator<_Iterator>::reverse_iterator() [with _Iterator = ActionType*]
reverse_iterator() : current() { }
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:121:7: note: candidate expects 0 arguments, 1 provided
prog.cpp:43:61: error: no matching function for call to ‘std::reverse_iterator<ActionType*>::reverse_iterator(std::vector<ActionType*>::iterator)’
std::reverse_iterator<ActionType*>(actions.begin()),
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:140:9: note: candidate: template<class _Iter> std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iter>&)
reverse_iterator(const reverse_iterator<_Iter>& __x)
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:140:9: note: template argument deduction/substitution failed:
prog.cpp:43:61: note: ‘std::vector<ActionType*>::iterator {aka __gnu_cxx::__normal_iterator<ActionType**, std::vector<ActionType*> >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
std::reverse_iterator<ActionType*>(actions.begin()),
^
In file included from /usr/include/c++/6/bits/stl_algobase.h:67:0,
from /usr/include/c++/6/bits/char_traits.h:39,
from /usr/include/c++/6/ios:40,
from /usr/include/c++/6/ostream:38,
from /usr/include/c++/6/iostream:39,
from prog.cpp:1:
/usr/include/c++/6/bits/stl_iterator.h:132:7: note: candidate: std::reverse_iterator<_Iterator>::reverse_iterator(const std::reverse_iterator<_Iterator>&) [with _Iterator = ActionType*]
reverse_iterator(const reverse_iterator& __x)
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:132:7: note: no known conversion for argument 1 from ‘std::vector<ActionType*>::iterator {aka __gnu_cxx::__normal_iterator<ActionType**, std::vector<ActionType*> >}’ to ‘const std::reverse_iterator<ActionType*>&’
/usr/include/c++/6/bits/stl_iterator.h:127:7: note: candidate: std::reverse_iterator<_Iterator>::reverse_iterator(std::reverse_iterator<_Iterator>::iterator_type) [with _Iterator = ActionType*; std::reverse_iterator<_Iterator>::iterator_type = ActionType*]
reverse_iterator(iterator_type __x) : current(__x) { }
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:127:7: note: no known conversion for argument 1 from ‘std::vector<ActionType*>::iterator {aka __gnu_cxx::__normal_iterator<ActionType**, std::vector<ActionType*> >}’ to ‘std::reverse_iterator<ActionType*>::iterator_type {aka ActionType*}’
/usr/include/c++/6/bits/stl_iterator.h:121:7: note: candidate: std::reverse_iterator<_Iterator>::reverse_iterator() [with _Iterator = ActionType*]
reverse_iterator() : current() { }
^~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_iterator.h:121:7: note: candidate expects 0 arguments, 1 provided