컴파일러 경고(수준 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
합니다.