Compilerfehler C2872
Aktualisiert: November 2007
Fehlermeldung
'Symbol' : Mehrdeutiges Attribut
'symbol' : ambiguous symbol
Der Compiler kann nicht ermitteln, auf welches Symbol verwiesen wird.
C2872 kann auftreten, wenn eine Headerdatei eine using Directive (C++) beinhaltet und eine nachfolgende Headerdatei mit #include eingefügt wurde, die einen Typ enthält, der auch im angegebenen Namespace der using-Direktive vorhanden ist. Geben Sie eine using-Direktive erst nach den #include-Anweisungen für Ihre Headerdateien an.
Weitere Informationen zu C2872 finden Sie unter https://support.microsoft.com/default.aspx?scid=kb;en-us;316317.
Im folgenden Beispiel wird C2872 generiert:
// C2872.cpp
namespace A {
int i;
}
using namespace A;
int i;
int main() {
::i++; // ok
A::i++; // ok
i++; // C2872 ::i or A::i?
}