編譯器警告 (層級 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
。