Definizione di membri dello spazio dei nomi
I membri di uno spazio dei nomi possono essere definiti nello spazio stesso. Ad esempio:
namespace X { void f() { } }
I membri di uno spazio dei nomi possono essere definiti all'esterno dello spazio dei nomi in cui sono dichiarati da qualifica esplicita del nome definito. L'entità definita, tuttavia, deve essere già dichiarata nello spazio dei nomi. La definizione deve inoltre apparire dopo la posizione della dichiarazione di uno spazio dei nomi che racchiude lo spazio della dichiarazione stessa. Ad esempio:
// defining_namespace_members.cpp
// C2039 expected
namespace Q {
namespace V {
void f();
}
void V::f() { } // ok
void V::g() { } // C2039, g() is not yet a member of V
namespace V {
void g();
}
}