Partilhar via


Erro do compilador C2911

«Membro» : não pode ser declarado ou definido no âmbito atual

Observações

Dentro de um namespace, classe ou função, você só pode definir um membro do mesmo namespace, classe ou função ou um membro que esteja incluído pelo mesmo namespace, classe ou função.

Example

O exemplo a seguir gera C2911:

// C2911.cpp
struct A;

namespace M {
   struct D;
}

namespace N {
   struct C;

   namespace O {
      struct B;
   }

   // in N
   struct ::A {};   // C2911  A is member of global NS
   struct O::B{};   // OK B is in O, O is inside of N
   struct C {};     // OK C is member of N
   struct M::D {};  // C2911 D is member of M, M not enclosed by N
}