I was using the boost::log library component and when compiling my code, I ran into a rather odd error converting a derived shared pointer to a base class shared pointer, i.e. implicitly converting a ``shared_ptr<std::ofstream>`` to a ``const shared_ptr<std::ostream> &``.
Read C++ Standard Library Gotcha: Include Headers Explicitly.