다음을 통해 공유


컴파일러 경고(수준 4) C4702

접근할 수 없는 코드

컴파일러 백 엔드가 연결할 수 없는 코드를 검색하면 C4702가 수준 4 경고로 생성됩니다.

이 경고를 해결하려면 연결할 수 없는 코드를 제거하거나 일부 실행 흐름에서 모든 소스 코드에 연결할 수 있는지 확인합니다.

예제

다음 샘플에서는 C4702를 생성합니다. 이 문제를 해결하려면 연결할 수 없는 코드를 제거합니다.

// C4702.cpp
// compile with: /W4
#include <stdio.h>

int main() {
   return 1;
   printf_s("I won't print.\n");   // C4702 unreachable
}

오류 C4702는 , /EHsc/EHc또는 /EHac 옵션을 사용하여 컴파일하고 함수를 사용할 /GXextern "C" 때 컴파일러의 일부 버전에서 발생할 수 있습니다. 컴파일러는 함수가 extern "C" throw되지 않는다고 가정하므로 catch 블록에 연결할 수 없습니다. 함수가 throw되거나 throw된 예외에 따라 컴파일 /EHa 하거나 /EHsthrow할 수 있기 때문에 이 경고가 유효하지 않다고 생각되는 경우

자세한 내용은 /EH(예외 처리 모델)을 참조하세요.

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

// C4702b.cpp
// compile with: /W4 /EHsc
#include <iostream>

using namespace std;
extern "C" __declspec(dllexport) void Function2(){}

int main() {
   try {
      Function2();
   }
   catch (...) {
      cout << "Exp: Function2!" << endl;   // C4702
   }
}