title: Is a namespace required when referring to the base class
body: <p>I have code like this:</p>
  
  <pre><code>namespace N {
     class B {
       public:
         virtual void doStuff(B *) = 0;
      };
   }
  
   // not in a namespace
   class Derived : public N::B {
     public:
         void doStuff(B *); // Should this be N::B, or is B ok?
   };
  </code></pre>
  
  <p>Do I need the namespace qualifier where Derived refers to it's base class?  GCC and MSVC are happy with the code as written, but another compiler complains unless I put the namespace in.  What does the C++ standard say?</p>