Compartilhar via


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 e int eram tratados como tipos separados. Agora, o compilador trata __int32 como sinônimo de int. Isso significa que o compilador detectará várias definições se uma função estiver sobrecarregada em __int32 e int 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) {}