Error del compilador C2084
la función 'función' ya tiene un cuerpo
La función ya se ha definido.
Antes de Visual Studio 2002:
El compilador aceptaba varias especializaciones de plantilla que se resolvieran con el mismo tipo real, aunque las definiciones adicionales nunca estuvieran disponibles. El compilador ahora detecta estas definiciones múltiples.
__int32
yint
se trataban como tipos diferentes. El compilador ahora trata__int32
como sinónimo deint
. Esto significa que el compilador detecta varias definiciones si una función está sobrecargada en__int32
yint
, y produce un error.
Ejemplo
El ejemplo siguiente genera el error C2084:
// C2084.cpp
void Func(int);
void Func(int) {} // define function
void Func(int) {} // C2084 second definition
Para corregir este error, quite la definición duplicada:
// C2084b.cpp
// compile with: /c
void Func(int);
void Func(int) {}