Freigeben über


Compilerfehler C2084

Funktion 'Funktion' hat bereits einen Textkörper

Die Funktion wurde bereits definiert.

Vor Visual Studio 2002

  • Der Compiler akzeptiert mehrere Vorlagenspezialisierungen, die auf denselben tatsächlichen Typ aufgelöst wurden, obwohl die zusätzlichen Definitionen niemals verfügbar wären. Der Compiler erkennt nun diese multiplen Definitionen.

  • __int32 und int wurden als separate Typen behandelt. Der Compiler behandelt __int32 nun als Synonym für int. Dies bedeutet, dass der Compiler mehrere Definitionen erkennt, wenn eine Funktion sowohl für beide als auch __int32 int für einen Fehler überladen ist.

Beispiel

Im folgenden Beispiel wird C2084 generiert:

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

Um diesen Fehler zu beheben, entfernen Sie die duplizierte Definition:

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