Compilerfehler C2084

Funktion 'Funktion' hat bereits einen Funktionstext

Die Funktion wurde bereits definiert.

In früheren Versionen von Visual C++

  • akzeptierte der Compiler mehrere Vorlagenspezialisierungen, die in denselben tatsächlichen Typ aufgelöst wurden, obwohl die zusätzlichen Definitionen zu keinem Zeitpunkt verfügbar waren.Diese mehrfachen Definitionen werden nun vom Compiler erkannt.

  • __int32 und int wurden als separate Typen behandelt.Der Compiler behandelt __int32 jetzt als Synonym zu int.Dies bedeutet, dass der Compiler mehrfache Definitionen erkennt, wenn eine Funktion sowohl für __int32 als auch für int überladen wird, und einen Fehler ausgibt.

Im folgenden Beispiel wird C2084 generiert:

// C2084.cpp
void Func(int);
void Func(int) {}   // define function
void Func(int) {}   // C2084 second definition

Mögliche Lösung:

// C2084b.cpp
// compile with: /c
void Func(int);
void Func(int) {}