编译器警告(等级 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 永远不会返回。 若要防止此代码生成错误消息,请使用 __declspec(noreturn) 声明 fatal