Hello
Im having headaches because I cant figure out what am I doing wrong.
Heres the code:
session.h:
session.cpp:Code:#include "service.h" #include "car.h" #include "driver.h" class session { public: session(); car const &car() const { return m_car; } private: service m_service; car m_car; driver m_driver; };
car.h:Code:#include "session.h" session::session() : m_service(), m_car(m_service), m_driver(*this) { }
Code:#include "service.h" class car { public: car(service &s) : m_service(s) { } template <typename Handler> void somefunc(Handler t) { } private: service &m_service; };
driver.h:
driver.cpp:Code:#include "session.h" class driver { public: driver(session &s); do_stuff(); private: session m_session; };
Code:#include "driver.h" #include "session.h" #include "car.h" driver::driver(session &s) : m_session(s) { do_stuff(); } void driver::do_stuff() { m_session.car().somefunc(someclass); }
The problem is that car in session class stays 'unknown'.
The error I get:
error C2146: syntax error : missing ';' before identifier 'm_car' .. etc.
How to solve this since I cannot make separated .cpp file for class car because its templated?



LinkBack URL
About LinkBacks


