Avviso C28205

'function': _Success_ o _On_failure_ usato in un contesto non valido

Le _Success_ annotazioni e _On_failure_ possono essere usate solo sui valori restituiti dalla funzione.

Esempi

Questo esempio mostra come l'avviso rileva un'annotazione SAL non posizionata:

#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;
   }
}

Per risolvere il problema, spostare l'annotazione SAL nel valore restituito:

#include <sal.h>

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

Vedi anche

Informazioni su SAL