2008/8/17 Christian Larsen <contact@dword.dk>
   class A
   {
   public:
       A(auto_ptr<B>& b1, auto_ptr<B>& b2)

Pass arguments by value here instead of by reference. It's a common idiom that is used to enforce and document the fact that function takes ownership of arguments.
 

           : b1_(b1.release()), b2_(b2.release())
       {}
   private:
       scoped_ptr<B> b1_;
       scoped_ptr<B> b2_;
   };

Roman Perepelitsa.