// Game.h
#include "Map.h"
// Map.h
#include "Game.h"
I teraz pomyśl jak ma zachować się kompilator widząc takie coś. Dołącza Map.h, w Map.h jest include do Game.h, dołącza Game.h, w Game.h jest include do Map.h, dołącza Map.h... i tak dalej.
W twoim wypadku błąd da się łatwo rozwiązać. Usuń #include "Map.h" w Game.h, wystarczy że includujesz mapę w .cpp
Poczytaj na przyszłość o mutual include oraz forward declaration.