Erro do compilador C2084
função 'function' já tem um corpo
A função já foi definida.
Antes do Visual Studio 2002,
O compilador aceitaria várias especializações de modelo que resolvessem o mesmo tipo real, embora as definições adicionais nunca estivessem disponíveis. Agora, o compilador agora detecta essas várias definições.
__int32
eint
eram tratados como tipos separados. Agora, o compilador trata__int32
como sinônimo deint
. Isso significa que o compilador detectará várias definições se uma função estiver sobrecarregada em__int32
eint
e gerará um erro.
Exemplo
O seguinte exemplo gera C2084:
// C2084.cpp
void Func(int);
void Func(int) {} // define function
void Func(int) {} // C2084 second definition
Para corrigir esse erro, remova a definição duplicada:
// C2084b.cpp
// compile with: /c
void Func(int);
void Func(int) {}