class Base
{
public: void foo(){}
};
class Derived : public Base
{
private:
using Base::foo;
};
int main()
{
Derived d;
d.foo();
}
Является ли код законным? Объявление using Base::foo находится в частном разделе производного класса. Поэтому вызов d.foo() не должен компилироваться, я прав?