Avviso del compilatore (livello 1) C4715
'function': non tutti i percorsi di controllo restituiscono un valore
La funzione specificata può potenzialmente non restituire un valore.
Esempio
// C4715a.cpp
// compile with: /W1 /LD
int func1( int i )
{
if( i )
return 3; // C4715 warning, nothing returned if i == 0
}
Per evitare questo avviso, modificare il codice in modo che tutti i percorsi assegnino un valore restituito alla funzione:
// C4715b.cpp
// compile with: /LD
int func1( int i )
{
if( i ) return 3;
else return 0; // OK, always returns a value
}
È possibile che il codice contenga una chiamata a una funzione che non restituisce mai, come nell'esempio seguente:
// C4715c.cpp
// compile with: /W1 /LD
void fatal()
{
}
int glue()
{
if(0)
return 1;
else if(0)
return 0;
else
fatal(); // C4715
}
Questo codice genera anche un avviso, perché il compilatore non sa che fatal
non restituisce mai. Per evitare che questo codice generi un messaggio di errore, dichiarare fatal
utilizzando __declspec(noreturn).