In setup() you create a temporary sf::RenderWindow object, thus you initialize the member window with the default constructor which doesn't really create the window.
See documentation:
Default constructor.
This constructor doesn't actually create the window, use the other constructors or call Create to do so.
Mhm, I understand what's wrong and how to fix it, but I'm not really succeeding:
I tried
window.create(sf::VideoMode(800, 600, 32), title.c_str());
window = sf:Window(sf::VideoMode(800, 600, 32), title.c_str());
And more things, but not luck.
sf::Window window;
Also, in the Game.hpp file, should I declare the window as sf::Window or sf::RenderWindow? Thank you.