컴파일러 경고(수준 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
옵션을 사용하여 컴파일하고 함수를 사용할 /GX
extern "C"
때 컴파일러의 일부 버전에서 발생할 수 있습니다. 컴파일러는 함수가 extern "C"
throw되지 않는다고 가정하므로 catch 블록에 연결할 수 없습니다. 함수가 throw되거나 throw된 예외에 따라 컴파일 /EHa
하거나 /EHs
throw할 수 있기 때문에 이 경고가 유효하지 않다고 생각되는 경우
자세한 내용은 /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
}
}