Código (cpp) [Seleccionar]
Host Accept();
La función devuelve un Host pero la has implementado como que devuelve un Socket.
Por otro lado, la implementación debería ir en un fichero .cpp, las definiciones en un fichero .hpp y estas se incluyen mutuamente. No tienes que hacer cosas como esta:
Código (cpp) [Seleccionar]
class Socket;
Que no estoy muy seguro que funcione bien (el compilador no puede saber que miembros tiene Socket desde el otro fichero cpp).