Compartilhar via


Erro do compilador C2911

'member' : não pode ser declarado ou definido no escopo atual

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 seja delimitado pelos mesmos namespace, classe ou função.

A amostra a seguir gera o erro 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
}