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:294:26: error: no matching function for call to 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator::Iterator(HashTable<int, int, std::hash<int>, std::equal_to<int> >*, std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >&, std::_Fwd_list_iterator<std::pair<const int, int> >&)'
Iterator result(this, bucket, listItBefore);//bucket???
^~~~~~
/in/hashtable.hpp:89:9: note: candidate: constexpr HashTable<Key, Value, Hash, KeyEqual>::Iterator::Iterator(const HashTable<Key, Value, Hash, KeyEqual>::Iterator&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]
Iterator(const Iterator &) = default;
^~~~~~~~
/in/hashtable.hpp:89:9: note: candidate expects 1 argument, 3 provided
/in/hashtable.hpp:79:9: note: candidate: HashTable<Key, Value, Hash, KeyEqual>::Iterator::Iterator(HashTable<Key, Value, Hash, KeyEqual>*, HashTable<Key, Value, Hash, KeyEqual>::Iterator::VectorIterator, HashTable<Key, Value, Hash, KeyEqual>::Iterator::ListIterator) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>; HashTable<Key, Value, Hash, KeyEqual>::Iterator::VectorIterator = __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >; HashTable<Key, Value, Hash, KeyEqual>::Iterator::ListIterator = std::_Fwd_list_iterator<std::pair<const int, int> >]
Iterator(HashTable *hashTable, VectorIterator vectorIt, ListIterator listItBefore) :
^~~~~~~~
/in/hashtable.hpp:79:9: note: no known conversion for argument 2 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator::VectorIterator {aka __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >}'
/in/hashtable.hpp:73:18: note: candidate: HashTable<Key, Value, Hash, KeyEqual>::Iterator::Iterator(HashTable<Key, Value, Hash, KeyEqual>*) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]
explicit Iterator(HashTable *hashTable) : hashTable(hashTable) {
^~~~~~~~
/in/hashtable.hpp:73:18: note: candidate expects 1 argument, 3 provided
/in/hashtable.hpp:300:18: error: no matching function for call to 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator::Iterator(HashTable<int, int, std::hash<int>, std::equal_to<int> >*, std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >&, std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >::iterator)'
Iterator result(this, bucket, bucket.before_begin());
^~~~~~
/in/hashtable.hpp:89:9: note: candidate: constexpr HashTable<Key, Value, Hash, KeyEqual>::Iterator::Iterator(const HashTable<Key, Value, Hash, KeyEqual>::Iterator&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]
Iterator(const Iterator &) = default;
^~~~~~~~
/in/hashtable.hpp:89:9: note: candidate expects 1 argument, 3 provided
/in/hashtable.hpp:79:9: note: candidate: HashTable<Key, Value, Hash, KeyEqual>::Iterator::Iterator(HashTable<Key, Value, Hash, KeyEqual>*, HashTable<Key, Value, Hash, KeyEqual>::Iterator::VectorIterator, HashTable<Key, Value, Hash, KeyEqual>::Iterator::ListIterator) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>; HashTable<Key, Value, Hash, KeyEqual>::Iterator::VectorIterator = __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >; HashTable<Key, Value, Hash, KeyEqual>::Iterator::ListIterator = std::_Fwd_list_iterator<std::pair<const int, int> >]
Iterator(HashTable *hashTable, VectorIterator vectorIt, ListIterator listItBefore) :
^~~~~~~~
/in/hashtable.hpp:79:9: note: no known conversion for argument 2 from 'std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >' to 'HashTable<int, int, std::hash<int>, std::equal_to<int> >::Iterator::VectorIterator {aka __gnu_cxx::__normal_iterator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >*, std::vector<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > >, std::allocator<std::forward_list<std::pair<const int, int>, std::allocator<std::pair<const int, int> > > > > >}'
/in/hashtable.hpp:73:18: note: candidate: HashTable<Key, Value, Hash, KeyEqual>::Iterator::Iterator(HashTable<Key, Value, Hash, KeyEqual>*) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]
explicit Iterator(HashTable *hashTable) : hashTable(hashTable) {
^~~~~~~~
/in/hashtable.hpp:73:18: note: candidate expects 1 argument, 3 provided
/in/hashtable.hpp: In instantiation of 'size_t HashTable<Key, Value, Hash, KeyEqual>::findMinimumBucketSize(size_t) const [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>; size_t = long unsigned int]':
/in/hashtable.hpp:465:43: required from 'void HashTable<Key, Value, Hash, KeyEqual>::rehash(size_t) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>; size_t = long unsigned int]'
/in/hashtable.hpp:442:19: required from 'Value& HashTable<Key, Value, Hash, KeyEqual>::operator[](const Key&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]'
/in/driver/main.cpp:129:94: required from here
/in/hashtable.hpp:176:25: error: conversion to 'double' from 'size_t {aka long unsigned int}' may alter its value [-Werror=conversion]
if (newSize >(loadFactor()) && newSize >= bucketSize) {
~~~~~~~~^~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors