Ostrzeżenie C28205
"funkcja":
_Success_
lub_On_failure_
używana w nielegalnym kontekście
Adnotacje _Success_
i _On_failure_
mogą być używane tylko w przypadku zwracanych wartości funkcji.
Przykłady
W tym przykładzie pokazano, jak ostrzeżenie znajduje zagubioną adnotację SAL:
#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;
}
}
Aby rozwiązać ten problem, przenieś adnotację SAL do zwracanej wartości:
#include <sal.h>
_Success_(return != false)
bool GetValue(_Out_ int *pInt, bool flag)
{
if(flag) {
*pInt = 5;
return true;
} else {
return false;
}
}