'identifier' : symbol cannot be defined within namespace 'namespace'
A symbol belonging to namespace A must be defined in a namespace that encloses A.
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(){... } }