When you forward declare, don't put in the #include
. Do it like
class Event;
class Logger {
public:
/*!
* Constructor
*/
Logger();
/*!
* Destructor
*/
~Logger();
/*!
* My operator
*/
Logger& operator<<(const Event& e);
private:
...
};
without the #include "event.hpp"