다음을 통해 공유


컴파일러 오류 C2084

함수 'function'에 본문이 이미 있습니다.

함수가 이미 정의되었습니다.

Visual Studio 2002 이전,

  • 컴파일러는 동일한 실제 형식으로 확인된 여러 템플릿 특수화를 허용하지만 추가 정의는 사용할 수 없습니다. 이제 컴파일러는 이러한 여러 정의를 검색합니다.

  • __int32 별도의 int 형식으로 처리되었습니다. 이제 컴파일러는 .의 __int32 동의어 int로 처리됩니다. 즉, 함수가 둘 다 __int32 int 에 오버로드되고 오류가 발생하는 경우 컴파일러가 여러 정의를 검색합니다.

예시

다음 샘플에서는 C2084를 생성합니다.

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

이 오류를 해결하려면 중복 정의를 제거합니다.

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