다음을 통해 공유


C6031

경고 C6031: 반환 값이 무시되었습니다. <function>에서 예기치 않은 값을 반환할 수 있습니다.

이 경고는 호출하는 함수가 반환 값을 통해 실패 신호를 보내는 함수 호출의 반환 값을 검사하지 않는다는 것을 나타냅니다.호출되는 함수에 따라 이 오류는 오류 상태나 리소스 부족 상황에서 충돌과 데이터 손상을 포함하여 무작위의 프로그램 오작동을 발생시킬 수 있습니다.

일반적으로 디스크, 네트워크, 메모리 또는 기타 리소스를 필요로 하는 함수를 호출할 때 항상 성공하리라고 가정해서는 안 됩니다.호출자는 항상 반환 값을 검사하여 오류 상황을 적절하게 처리해야 합니다.또한 사용 하는 것은 _Must_inspect_result_ 를 유용한 방식으로의 값이 검사 됩니다 확인 하는 주석.

예제

다음 코드에서는 이 경고를 발생시킵니다.

#include <stdio.h>
void f( )
{
  fopen( "test.c", "r" ); // return value ignored
  // code ...
}

이 경고를 해결하려면 다음 코드에서처럼 함수의 반환 값을 검사합니다.

#include <stdio.h>
void f( )
{
  FILE *stream;
  if((stream = fopen( "test.c", "r" )) == NULL ) 
    return;
  // code ...
}

다음 코드에서는 안전한 함수 fopen_s를 사용하여 이 경고를 해결합니다.

#include <stdio.h>
void f( )
{
  FILE *stream;
  errno_t err;

  if( (err  = fopen_s( &stream, "test.c", "r" )) !=0 )
  {
    // code ...
  }
}

호출자와 주석이 지정 된 함수의 반환 값을 무시 하는 경우에이 경고가 생성 됩니다 있는 _Check_return_ 다음 코드 에서처럼 속성.

#include <sal.h>
_Check_return_ bool func();

void test_f()
{
    func(); //  Warning C6031
}

이전 경고를 해결하려면 다음 코드에서처럼 반환 값을 검사합니다.

#include <sal.h>
_Check_return_ bool func();

void test_f()
{
    if( func() ) {
        // code …
    }
}

참고 항목

참조

fopen_s, _wfopen_s

기타 리소스

주석 개요

MustCheck