Erreur du compilateur C2084

la fonction 'function' a déjà un corps

La fonction a déjà été définie.

Avant Visual Studio 2002,

  • Le compilateur accepterait plusieurs spécialisations de modèle qui se sont résolues au même type réel, bien que les définitions supplémentaires ne soient jamais disponibles. Le compilateur détecte maintenant ces plusieurs définitions.

  • __int32 et int ont été traités comme des types distincts. Le compilateur traite __int32 maintenant comme synonyme de int. Cela signifie que le compilateur détecte plusieurs définitions si une fonction est surchargée à la fois __int32 et int génère une erreur.

Exemple

L’exemple suivant génère l’erreur C2084 :

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

Pour corriger cette erreur, supprimez la définition dupliquée :

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