'function': 재정의, 다른 예외 사양
이 오류는 예외 사양에서만 함수 오버로드가 시도되었음을 나타냅니다.
설명
기본적으로 컴파일러는 사양이 noexcept
사양 또는 throw(some_type)
사양과 throw()
동일하다고 간주합니다. 아래에서 /Za
이 검사는 더 엄격합니다.
이 문제를 해결하려면 함수의 모든 선언 및 정의(또는 특정 함수 오버로드)를 동일한 예외 사양을 사용하도록 변경합니다.
예시
다음 샘플에서는 C2382를 생성합니다.
// C2382.cpp
// compile with: /Za /c
void f1(void) noexcept {}
void f1(void) {} // C2382
void f2(void) throw() {} // OK