'identifier' : symbol cannot be defined within namespace 'namespace'
A symbol belonging to namespace A must be defined in a namespace that encloses the namespace A. Otherwise, an error is generated.
The following is an example:
namspace M {
namespace N {
void f1();
void f2();
}
void N::f1() {... //OK: namspace M encloses N
}
}
namespace O {
//Error: namespace O does not enclose M
void M::N::f2(){...
}
}