次の方法で共有


C28303

警告 C28303: C++ 参照パラメーター <パラメーター名> に対し、あいまいな _Deref_ 演算子が <注釈> で見つかりました

C28302 の警告と同様に、この警告が _Deref_ のレベルの追加がパラメーターの使用時に報告されます。

SAL2 は、ref パラメーターを処理するとき _Deref_ のレベルの追加を使用する必要はありません。この特定の注釈は逆参照のレベルを指定するように意図されている方法に関してあいまいです。注釈される特定のオブジェクトを参照するために _At_ を使用する必要がある場合があります。

使用例

次のコードは __deref_out_ecount(n) の使用があいまいであるため、この警告が生成されます。:

   void ref(__deref_out_ecount(n) int **&buff, int &n)

これらの注釈は次のように解釈するか:

  • n) 整数 (SAL1 解釈) へのポインターの配列への参照。

  • n) 整数 (SAL2 解釈) の配列へのポインターへの参照。

次の機能のいずれかでは、この警告を解決する:

   void ref(_Out_writes_(n) int **&buff, int &n)
   // or
   _At_(*buff), _Out_writes(n)) void ref(int **&amp;buff, int &amp;n)