Share via


warning

선택적 컴파일러 경고 메시지의 동작을 수정할 수 있습니다.

#pragma warning( warning-specifier : warning-number-list [; warning-specifier : warning-number-list...] )
#pragma warning( push[ ,n ] )
#pragma warning( pop )

설명

다음 경고 지정자 매개 변수를 사용할 수 있습니다.

경고 지정자

의미

1, 2, 3, 4

지정 된 수준의 지정 된 경고에 적용 됩니다.기본적으로 해제 되어 지정 된 경고에도 꺼집니다.

default

경고 동작을 기본 값으로 다시 설정 합니다.기본적으로 해제 되어 지정 된 경고에도 꺼집니다.이 경고는 기본값을 생성, 문서화, 수준.

자세한 내용은 기본적으로 해제 되어 있는 컴파일러 경고를 참조하십시오.

disable

지정 된 경고 메시지를 발행 하지 않습니다.

error

지정 된 경고를 오류로 보고 합니다.

once

한 번만 지정 된 메시지를 표시 합니다.

suppress

Pragma의 현재 상태를 스택에 푸시합니다, 그리고 다음 줄에 지정 된 경고를 사용 하지 않도록 설정 하 고 pragma 상태를 다시 설정 하 고 경고 스택을 팝.

다음 코드 문을 보여 주는 있는 warning-number-list 여러 개의 경고 번호 및 해당 여러 매개 변수를 포함할 수 있습니다 warning-specifier 같은 pragma 지시문에 매개 변수를 지정할 수 있습니다.

#pragma warning( disable : 4507 34; once : 4385; error : 164 )

이 다음 코드와 기능적으로 동일합니다.

// Disable warning messages 4507 and 4034.
#pragma warning( disable : 4507 34 )

// Issue warning 4385 only once.
#pragma warning( once : 4385 )

// Report warning 4164 as an error.
#pragma warning( error : 164 )

컴파일러가 4000 0에서 999 사이의 모든 경고 번호가 추가 됩니다.

경고 번호 범위는 코드 생성으로 관련 메시지를 4700-4999, 실제로 컴파일러는 중괄호 함수를 발견 한 경우 경고 상태 적용 함수의 나머지 부분에 대 한 될 것입니다.사용 하는 warning pragma 4699 보다 큰 숫자를 가진 경고의 상태를 변경 하는 함수에 효과 함수의 끝 뒤 취할만 합니다.다음 예제에서는 올바른 배치를 warning pragma 코드 생성 경고 메시지를 해제 하려면 다음 복원 합니다.

// pragma_warning.cpp
// compile with: /W1
#pragma warning(disable:4700)
void Test() {
   int x;
   int y = x;   // no C4700 here
   #pragma warning(default:4700)   // C4700 enabled after Test ends
}

int main() {
   int x;
   int y = x;   // C4700
}

전체 함수 본문을 마지막 설정 통지는 warning pragma는 함수에 대 한 전체 적용 될 합니다.

Push 및 Pop

warning Pragma는 또한 다음 구문을 지원 합니다.

#pragma warning( push [ ,n ] )

#pragma warning( pop )

위치 n (1-4) 경고 수준을 나타냅니다.

Pragma warning( push ) 현재 모든 경고에 대 한 경고 상태를 저장 합니다.Pragma warning( push, n) 모든 경고에 대 한 현재 상태를 저장 하 고 글로벌 경고 수준 설정 n.

Pragma warning( pop ) pop 마지막 경고 상태 스택에 푸시됩니다.경고 상태 간에 변경 내용을 push 및 pop 취소 됩니다.다음 예제를 고려해 보십시오.

#pragma warning( push )
#pragma warning( disable : 4705 )
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
// Some code
#pragma warning( pop ) 

이 코드의 끝에 pop 모든 경고의 상태를 복원 합니다 (4705, 4706, 4707 등)에 코드의 시작에서 원래.

헤더 파일을 작성할 때 사용할 수 있습니다 push 및 pop 하려면 경고 상태 변경 내용은 사용자가 머리글 올바르게 컴파일에서 영향을 주지 않습니다.사용 push 머리글의 시작할 때 및 pop 끝.예를 들어 경고 수준 4에서 완전히 컴파일되지 않습니다. 머리글의 경우 다음 코드 것 경고 수준 3으로 변경 하 고 원래 경고 수준 헤더의 끝을 복원.

#pragma warning( push, 3 )
// Declarations/definitions
#pragma warning( pop ) 

컴파일러를 억제 하는 옵션에 대 한 자세한 내용은 경고를 참조 하십시오. /FI/w.

참고 항목

참조

Pragma 지시문과 __Pragma 키워드