Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
'klasse::id': geen geldige using-verklaring buiten het klassebereik
Opmerkingen
U hebt een using-verklaring onjuist gebruikt.
Deze fout kan worden gegenereerd als gevolg van het werk van de compilercompformance dat is uitgevoerd voor Visual Studio 2005: het is niet langer geldig om een using declaratie voor een genest type te hebben. U moet elke verwijzing die u maakt naar het geneste type expliciet kwalificeren, het type in een naamruimte plaatsen of een typedef maken.
Voorbeelden
In het volgende voorbeeld wordt C2885 gegenereerd.
// 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;
}
Als u het using trefwoord met een klasselid gebruikt, moet u dat lid definiƫren in een andere klasse (een afgeleide klasse).
In het volgende voorbeeld wordt C2885 gegenereerd.
// 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;
};