Partilhar via


C6031

C6031 de aviso: valor de retorno ignorado: <function> pôde retornar valor inesperado

Este aviso indica que a função de chamada não está verificando o valor de retorno de uma função chamada da falha dos sinais através de seu valor de retorno.Dependendo da função é chamada, este empecilho pode levar a incorreto comportamento convenientemente aleatório do programa, incluindo falhas e corrupções de dados em condições de erro ou em situações de baixo recurso.

Em geral, não é seguro suponha que uma chamada para funcionar exigem o disco, a rede, a memória, ou outros recursos funcionará com sempre.O chamador sempre deve verificar o valor de retorno e tratar caso de erro adequadamente.Considere usar também nota de _Must_inspect_result_ , que verifica o valor é examinado em uma maneira útil.

Exemplo

o seguinte código gera este aviso:

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

Para corrigir este aviso, verificar o valor de retorno da função conforme mostrado no código o seguir:

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

O código a seguir usa a função fopen_s segura para corrigir esse erro:

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

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

Esse erro é gerado também se o chamador ignora o valor de retorno de uma função anotada com a propriedade de _Check_return_ conforme mostrado no código a seguir.

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

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

Para corrigir o aviso anterior, verificar o valor de retorno conforme mostrado no código o seguir:

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

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

Consulte também

Referência

fopen_s, _wfopen_s

Outros recursos

Visão geral de anotação

MustCheck