In file included from /in/driver/main.cpp:5:0:
/in/hashtable.hpp: In instantiation of 'HashTable<Key, Value, Hash, KeyEqual>::Iterator HashTable<Key, Value, Hash, KeyEqual>::find(const Key&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]':
/in/driver/main.cpp:101:34: required from here
/in/hashtable.hpp:232:13: error: no match for call to '(std::equal_to<int>) (std::_Fwd_list_iterator<std::pair<const int, int> >&, const int&)'
if (keyEqual(itBefore,key)){
^~
In file included from /usr/include/c++/7/string:48: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/ios:42,
from /usr/include/c++/7/ostream:38,
from /usr/include/c++/7/iostream:39,
from /in/driver/main.cpp:1:
/usr/include/c++/7/bits/stl_function.h:355:7: note: candidate: constexpr bool std::equal_to<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = int]
operator()(const _Tp& __x, const _Tp& __y) const
^~~~~~~~
/usr/include/c++/7/bits/stl_function.h:355:7: note: no known conversion for argument 1 from 'std::_Fwd_list_iterator<std::pair<const int, int> >' to 'const int&'
In file included from /in/driver/main.cpp:5:0:
/in/hashtable.hpp:238:13: error: no match for 'operator++' (operand type is 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >')
++bucket;
^~~~~~~~