名前空間のメンバーの定義
名前空間のメンバーは名前空間で定義されている場合があります。次に例を示します。
namespace X { void f() { } }
名前付き名前空間のメンバーが定義されている名前の 明示的な修飾 で宣言された名前空間の外部で定義できます。ただし定義されたエンティティは名前空間で既に宣言する必要があります。また定義は宣言の名前空間を含める名前空間宣言の位置の後に記述する必要があります。次に例を示します。
// 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();
}
}