Требуется ли пространство имен при обращении к базовому классу

У меня есть такой код:

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?
 };

Нужен ли мне квалификатор пространства имен, где Derived ссылается на его базу class? GCC и MSVC довольны написанным кодом, но другой компилятор жалуется, если я не добавлю пространство имен. Что говорит стандарт C ++?

12
задан curiousguy 9 September 2019 в 21:19
поделиться