Compiler Error C2872
'symbol' : ambiguous symbol
The compiler cannot determine which symbol you are referring to.
C2872 can occur if a header file includes a using Directive (C+), and a subsequent header file is #include'd and contains a type that is also in the namespace specified in the using directive. Specify a using directive only after all your header files are specified with #include.
For more information about C2872, see https://support.microsoft.com/default.aspx?scid=kb;en-us;316317.
The following sample generates 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?
}