Share via


警告 C28205

'function': _Success_ または _On_failure_ 無効なコンテキストで使用されます

_Success_ 注釈と _On_failure_ 注釈は、関数の戻り値でのみ使用できます。

このサンプルでは、正しく配置されていない 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;
   }
}

この問題を解決するには、SAL 注釈を戻り値に移動します。

#include <sal.h>

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

関連項目

SAL について