Avertissement du compilateur (niveau 1) C4715
'function' : tous les chemins de contrôle ne retournent pas une valeur
La fonction spécifiée ne peut pas retourner une valeur.
Exemple
// C4715a.cpp
// compile with: /W1 /LD
int func1( int i )
{
if( i )
return 3; // C4715 warning, nothing returned if i == 0
}
Pour éviter cet avertissement, modifiez le code afin que tous les chemins attribuent une valeur de retour à la fonction :
// C4715b.cpp
// compile with: /LD
int func1( int i )
{
if( i ) return 3;
else return 0; // OK, always returns a value
}
Il est possible que votre code contienne un appel à une fonction qui ne retourne jamais, comme dans l’exemple suivant :
// C4715c.cpp
// compile with: /W1 /LD
void fatal()
{
}
int glue()
{
if(0)
return 1;
else if(0)
return 0;
else
fatal(); // C4715
}
Ce code génère également un avertissement, car le compilateur ne sait pas qu’il fatal
ne retourne jamais. Pour empêcher ce code de générer un message d’erreur, déclarez fatal
à l’aide de __declspec(noreturn).