Partilhar via


Aviso do compilador (nível 1) C4715

'function': nem todos os caminhos de controle retornam um valor

A função especificada pode potencialmente não retornar um valor.

Exemplo

// C4715a.cpp
// compile with: /W1 /LD
int func1( int i )
{
   if( i )
   return 3;  // C4715 warning, nothing returned if i == 0
}

Para evitar esse aviso, modifique o código para que todos os caminhos atribuam um valor retornado à função:

// C4715b.cpp
// compile with: /LD
int func1( int i )
{
   if( i ) return 3;
   else return 0;     // OK, always returns a value
}

É possível que o código contenha uma chamada para uma função que nunca retorna, como no exemplo a seguir:

// C4715c.cpp
// compile with: /W1 /LD
void fatal()
{
}
int glue()
{
   if(0)
      return 1;
   else if(0)
      return 0;
   else
      fatal();   // C4715
}

Esse código também gera um aviso, pois o compilador não sabe que fatal nunca retorna. Para impedir que esse código gere uma mensagem de erro, declare fatal usando __declspec(noreturn).