Предупреждение компилятора (уровень 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 может возникать в некоторых версиях компилятора при компиляции с помощью /GX
/EHc
/EHsc
параметров или /EHac
параметров и использования extern "C"
функций. Так как компилятор предполагает, что extern "C"
функции не вызываются, блок catch недоступен. Если вы считаете, что это предупреждение недопустимо, так как функция может вызывать, компилировать или /EHa
/EHs
в зависимости от исключения.
Дополнительные сведения см. в разделе /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
}
}