エラー メッセージ
'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 を宣言します。