Freigeben über


Warnung C28205

'Funktion': _Success_ oder _On_failure_ wird in einem unzulässigen Kontext verwendet

Die _Success_ Und _On_failure_ Anmerkungen können nur für Funktionsrückgabewerte verwendet werden.

Beispiele

In diesem Beispiel wird gezeigt, wie die Warnung eine falsch eingefügte SAL-Anmerkung findet:

#include <sal.h>

// Oops, _Success_ is not valid in parameter lists, should be moved to return value.
bool GetValue( _Success_(return != false) _Out_ int *pInt, bool flag)
{
   if(flag) {
      *pInt = 5;
      return true;
   } else {
      return false;
   }
}

Um das Problem zu beheben, verschieben Sie die SAL-Anmerkung auf den Rückgabewert:

#include <sal.h>

_Success_(return != false)
bool GetValue(_Out_ int *pInt, bool flag)
{
   if(flag) {
      *pInt = 5;
      return true;
   } else {
      return false;
   }
}

Siehe auch

Einführung in SAL