Compilerwarnung (Stufe 4) C4516

Aktualisiert: November 2007

Fehlermeldung

'class::symbol': Zugriffsdeklarationen sind veraltet; using-Deklarationen von Membern stellen eine bessere Alternative dar
'class::symbol' : access-declarations are deprecated; member using-declarations provide a better alternative

Die ANSI C++-Kommission hat Zugriffsdeklarationen (d. h., das Ändern der Zugriffsebene für einen in einer abgeleiteten Klasse enthaltenen Member, ohne das Schlüsselwort using zu verwenden) zur überholten Praktik erklärt. Zugriffsdeklarationen werden von zukünftigen C++-Versionen möglicherweise nicht mehr unterstützt.

Im folgenden Beispiel wird C4516 generiert:

// 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()
{
}