컴파일러 오류 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) {}