Partager via


Avertissement du compilateur (niveau 4) C4702

Code inaccessible

Lorsque le serveur principal du compilateur détecte du code inaccessible, il génère un avertissement C4702 en tant qu’avertissement de niveau 4.

Pour résoudre cet avertissement, supprimez le code inaccessible ou assurez-vous que tout le code source est accessible par un flux d’exécution.

Exemples

L’exemple suivant génère l’erreur C4702. Pour résoudre ce problème, supprimez le code inaccessible.

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

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

L’erreur C4702 peut se produire dans certaines versions du compilateur lorsque vous compilez à l’aide des /GXfonctions , ou /EHac /EHc/EHscoptions, et utilisez extern "C" des fonctions. Étant donné que le compilateur suppose que les extern "C" fonctions ne lèvent pas, le bloc catch n’est pas accessible. Si vous pensez que cet avertissement n’est pas valide, car une fonction peut lever, compiler avec /EHa ou /EHs, selon l’exception levée.

Pour plus d’informations, consultez /EH (Modèle de gestion des exceptions).

L’exemple suivant génère l’erreur 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
   }
}