access-declarations are deprecated; member using-declarations provide a better alternative
The ANSI C++ committee has declared access declarations (changing the access of a member in a derived class without the using keyword) to be outdated. Access declarations may not be supported by future versions of C++.
Example.
class A { public: x(char); }; class B : protected A { public: A::x; // access-declaration, warning C4516 };
Rewrite class B with the using keyword:
class B : protected A { public: using A::x; // using-declaration, ok };