Record Detail

Compile Error

In file included from /in/driver/main.cpp:5:0:
/in/hashtable.hpp: In member function 'size_t HashTable<Key, Value, Hash, KeyEqual>::findMinimumBucketSize(size_t) const':
/in/hashtable.hpp:176:63: error: there are no arguments to 'floor' that depend on a template parameter, so a declaration of 'floor' must be available [-fpermissive]
             const size_t *pos = std::lower_bound(first, last, floor(static_cast<double>(tableSize) / maxLoadFactor));
                                                               ^~~~~
/in/hashtable.hpp:176:63: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/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:413: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:313:19:   required from 'bool HashTable<Key, Value, Hash, KeyEqual>::insert(const HashTable<Key, Value, Hash, KeyEqual>::Iterator&, const Key&, const Value&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]'
/in/hashtable.hpp:331:22:   required from 'bool HashTable<Key, Value, Hash, KeyEqual>::insert(const Key&, const Value&) [with Key = int; Value = int; Hash = std::hash<int>; KeyEqual = std::equal_to<int>]'
/in/driver/main.cpp:111:43:   required from here
/in/hashtable.hpp:176:68: error: 'floor' was not declared in this scope
             const size_t *pos = std::lower_bound(first, last, floor(static_cast<double>(tableSize) / maxLoadFactor));
                                                               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/in/hashtable.hpp:176:68: note: suggested alternative: 'float'
             const size_t *pos = std::lower_bound(first, last, floor(static_cast<double>(tableSize) / maxLoadFactor));
                                                               ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                               float

Information

Submit By
Type
Submission
Homework
Project 2: Hashing
Language
C++
Submit At
2022-11-09 12:27:48
Judged At
2022-11-09 12:27:48
Judged By
Score
0
Total Time
0ms
Peak Memory
0 Bytes