Alright, so, I'm working on your code.
I stumbled onto this line:
IntMap(int capacity)
: capacity(capacity), count(0), head(nullptr) {
data = new Entry<E>*[capacity];
for (int i = 0; i < capacity; i++) {
data[i] = nullptr;
}
}
Can you see the problem?