Freigeben über


C6031

Warnung C6031: Der Rückgabewert wird ignoriert: <Funktion> gibt ggf. unerwarteten Wert zurück.

Diese Warnung gibt an, dass die aufrufende Funktion den Rückgabewert eines Funktionsaufrufs nicht überprüft, der über den Rückgabewert einen Fehler signalisiert.Je nach aufgerufener Funktion kann dieser Fehler zu einem dem Anschein nach willkürlichen Fehlverhalten des Programms führen, so z. B. zu Abstürzen und Datenbeschädigungen in Fehlerzuständen oder Situationen, in denen nur geringe Ressourcen verfügbar sind.

Im Allgemeinen ist es nicht sicher, davon auszugehen, dass ein Aufruf einer Funktion nach Datenträger-, Netzwerk-, Speicher- oder anderen Ressourcen immer erfolgreich verläuft.Der Aufrufer sollte daher stets den Rückgabewert überprüfen und Fehlerfälle entsprechend behandeln.Ziehen Sie außerdem, die _Must_inspect_result_ Anmerkung zu verwenden, die überprüft, ob der Wert auf eine nützliche Weise überprüft wird.

Beispiel

Der folgende Code generiert diese Warnung:

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

Um diese Warnung zu korrigieren, überprüfen Sie den Rückgabewert der Funktion, wie im folgenden Code dargestellt:

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

Im folgenden Code wird die sichere Funktion fopen_s verwendet, um diese Warnung zu korrigieren:

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

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

Diese Warnung wird auch generiert, wenn der Aufrufer den Rückgabewert einer Funktion ignoriert, die mit der _Check_return_-Eigenschaft wie im folgenden Code dargestellt hinzugefügt wird.

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

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

Um die vorherige Warnung zu korrigieren, überprüfen Sie den Rückgabewert, wie im folgenden Code dargestellt:

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

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

Siehe auch

Referenz

fopen_s, _wfopen_s

Weitere Ressourcen

Übersicht über Anmerkungen

MustCheck