Поделиться через


Предупреждение компилятора (уровень 1) C4715

Function: не все пути управления возвращают значение.

Указанная функция потенциально не может возвращать значение.

Пример

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

Чтобы предотвратить это предупреждение, измените код таким образом, чтобы все пути присваивали возвращаемое значение функции:

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

Возможно, код может содержать вызов функции, которая никогда не возвращается, как показано в следующем примере:

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

Этот код также создает предупреждение, так как компилятор не знает, что fatal никогда не возвращается. Чтобы предотвратить создание сообщения об ошибке, объявите fatal с помощью __declspec(noreturn).