编译错误:C2872 不明确的符号....using namespace std;

编译器错误 C2872

Visual Studio 2005

错误消息

“symbol”: 不明确的符号

编译器无法确定要引用哪个符号。

如果头文件包含 using Directive (C++),并且后续的头文件已使用 #include 并包含一个也位于 using 指令中指定的命名空间中的类型,则会出现 C2872 错误。仅在使用 #include 指定所有头文件后,才能指定 using 指令。

有关 C2872 的更多信息,请参见 http://support.microsoft.com/default.aspx?scid=kb;en-us;316317

下面的示例生成 C2872:

// C2872.cpp
namespace A {
   int i;
}

using namespace A;
int i;
int main() {
   ::i++;   // ok
   A::i++;   // ok
   i++;   // C2872 ::i or A::i?
}

posted on 2011-05-09 09:41  伪君  阅读(3590)  评论(0编辑  收藏  举报

导航