Sure..
Inside main:
client_session o; //will make it crash
client_session o(); //this wont make it crash
Code:
class client_session {
public:
client_session() :
_io_service(),
_client(_io_service, *this) { }
boost::asio::io_service _io_service;
client _client;
};
class client : public connection {
public:
client(boost::asio::io_service& io_service, client_session &session) :
connection(io_service),
_session(session) { }
client_session &_session;
};
class connection {
public:
connection(boost::asio::io_service &io_service) : _socket(io_service) { }
boost::asio::ip::tcp::socket _socket;
};