编译器警告(等级 4)C4516

“class::symbol”:访问声明已启用;成员 using 声明提供更好的选择

ANSI C++ 委员会已声明过时的访问声明(在不使用 using 关键字的情况下更改对派生类中成员的访问权限)。 未来版本的 C++ 可能不支持访问声明。

下面的示例生成 C4516:

// C4516.cpp
// compile with: /W4
class A
{
public:
   void x(char);
};

class B : protected A
{
public:
   A::x;  // C4516 on access-declaration
   // use the following line instead
   // using A::x; // using-declaration, ok
};

int main()
{
}