Partilhar via


C6031

Aviso C6031: Retorna valor ignorado: <função>poderia retornar valor inesperado

Este aviso indica que a função telefonar não está verificando o valor retornado de telefonar de função que sinaliza falha por meio de seu valor retornado.Dependendo de qual função está sendo chamada, esse defeito pode levar a falhas de programa aparentemente aleatórios, incluindo corrupções de dados e falhas no recurso de baixo situações ou condições de erro.

Em geral, não é seguro considerar que uma telefonar à função necessidade de disco, rede, memória ou outros recursos sempre terá êxito.O chamador deve sempre verificar o valor retornado e lidar com casos de erro adequadamente.

Exemplo

O código a seguir gera este aviso:

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

Para corrigir esse aviso, verificar o valor retornado da função, sistema autônomo mostra o código a 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 seguro fopen_s Para corrigir este aviso:

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

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

Esse aviso também será gerado se o chamador ignora o valor retornado de uma função anotado com o MustCheck propriedade, sistema autônomo mostrado no código a seguir:

#include <codeanalysis\sourceannotations.h>
[returnvalue:SA_Post(MustCheck=SA_Yes)] bool func( );

void test_f()

{

func( ); //return value ignored

}

Para corrigir o aviso anterior, verificar o valor retornado, sistema autônomo mostra o código a seguir:

void test_f()

{

if( func( ) )

{

//code...

}

}

Consulte também

Conceitos

Visão geral de anotação

Referência

fopen_s, _wfopen_s

MustCheck