Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
"class::identifier" : inte en giltig användningsdeklaration i icke-klassomfång
Anmärkningar
Du använde en användningsdeklaration felaktigt.
Det här felet kan genereras som ett resultat av kompilatorns överensstämmelsearbete som utfördes för Visual Studio 2005: det är inte längre giltigt att ha en using deklaration till en kapslad typ. Du måste uttryckligen kvalificera varje referens som du gör till den kapslade typen, placera typen i ett namnområde eller skapa en typedef.
Examples
I följande exempel genereras C2885.
// 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;
}
Om du använder nyckelordet using med en klassmedlem kräver C++ att du definierar medlemmen i en annan klass (en härledd klass).
I följande exempel genereras C2885.
// 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;
};