编译器错误 C2870

“name”:命名空间定义必须出现在文件范围内或紧接着出现在另一命名空间定义内

对命名空间 name 的定义不正确。 必须在文件范围内(所有块和类之外)或直接在另一个命名空间内定义命名空间。

以下示例生成 C2870:

// C2870.cpp
// compile with: /c
int main() {
   namespace A { int i; };   // C2870
}