@Armen: ага! Да, это делает это. Таким образом, поскольку B вводится в B, следовательно, оно также в Derived.
я есть такой код:
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 ссылается на его базовый класс? GCC и MSVC довольны написанным кодом, но другой компилятор жалуется, если я не вставлю пространство имен. Что говорит стандарт C ++?