Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
'class::identifier': keine gültige Using-Deklaration im Nicht-Klassenbereich
Bemerkungen
Sie haben eine Deklaration falsch verwendet.
Dieser Fehler kann als Ergebnis der Compilerkonformität generiert werden, die für Visual Studio 2005 ausgeführt wurde: Es ist nicht mehr gültig, eine using Deklaration für einen geschachtelten Typ zu haben. Sie müssen jeden Verweis explizit qualifizieren, den Sie an den geschachtelten Typ vornehmen, den Typ in einen Namespace setzen oder einen Typedef erstellen.
Beispiele
Im folgenden Beispiel wird C2885 generiert.
// C2885.cpp
namespace MyNamespace {
class X1 {};
}
struct MyStruct {
struct X1 {
int i;
};
};
int main () {
using MyStruct::X1; // C2885
// OK
using MyNamespace::X1;
X1 myX1;
MyStruct::X1 X12;
typedef MyStruct::X1 abc;
abc X13;
X13.i = 9;
}
Wenn Sie das using Schlüsselwort mit einem Klassenmemmemm verwenden, müssen Sie dieses Element innerhalb einer anderen Klasse (eine abgeleitete Klasse) definieren.
Im folgenden Beispiel wird C2885 generiert.
// C2885_b.cpp
// compile with: /c
class A {
public:
int i;
};
void z() {
using A::i; // C2885 not in a class
}
class B : public A {
public:
using A::i;
};