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
}