Condividi tramite


Errore del compilatore C2084

la funzione 'function' ha già un corpo

La funzione è già stata definita.

Prima di Visual Studio 2002,

  • Il compilatore accetterebbe più specializzazioni di modello risolte nello stesso tipo effettivo, anche se le definizioni aggiuntive non sarebbero mai disponibili. Il compilatore rileva ora queste più definizioni.

  • __int32 e int sono stati trattati come tipi separati. Il compilatore ora considera __int32 come sinonimo di int. Ciò significa che il compilatore rileva più definizioni se una funzione è in overload sia __int32 su e int che restituisce un errore.

Esempio

L'esempio seguente genera l'errore C2084:

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

Per correggere l'errore, rimuovere la definizione duplicata:

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