컴파일러 오류 C3163
'construct': 이전 선언과 일치하지 않는 특성
정의에 적용되는 특성이 선언에 적용되는 특성과 충돌합니다.
C3163을 해결하는 한 가지 방법은 앞으로 선언에서 특성을 제거하는 것입니다. 정방향 선언의 모든 특성은 정의의 특성보다 작거나 해당 특성과 같아야 합니다.
C3163 오류의 가능한 원인에는 MICROSOFT SAL(소스 코드 주석 언어)이 포함됩니다. SAL 매크로는 플래그를 사용하여 /analyze
프로젝트를 컴파일하지 않는 한 확장되지 않습니다. 옵션을 사용하여 다시 컴파일 /analyze
하려고 하면 C3163을 throw하지 않고 /analyze
새로 컴파일하는 프로그램이 발생할 수 있습니다. SAL에 대한 자세한 내용은 SAL 주석을 참조 하세요.
예시
다음 샘플에서는 C3163을 생성합니다.
// C3163.cpp
// compile with: /clr /c
using namespace System;
[CLSCompliant(true)] void f();
[CLSCompliant(false)] void f() {} // C3163
// try the following line instead
// [CLSCompliant(true)] void f() {}