Condividi tramite


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).