fork download
  1. #include <boost/shared_ptr.hpp>
  2. #include <boost/make_shared.hpp>
  3.  
  4. struct A { };
  5.  
  6. struct B: public A { };
  7.  
  8. class C
  9. {
  10. public:
  11. C(A& _a)
  12. : a(_a)
  13. { }
  14.  
  15. private:
  16. A& a;
  17. };
  18.  
  19. class D
  20. {
  21. public:
  22. D(B& b_) : b(b_) { }
  23. private:
  24. B& b;
  25. void someFunc()
  26. {
  27. C* c1 = new C(b); // Working
  28. boost::shared_ptr<C> c2 = boost::make_shared<C>(b); // not working
  29. }
  30. };
  31.  
  32. int main()
  33. {
  34. B b;
  35. D d(b);
  36. }
  37.  
Success #stdin #stdout 0s 3452KB
stdin
Standard input is empty
stdout
Standard output is empty