警告 C28303
C++ 参照パラメーター <parameter_name>の場合、'annotation' にあいまいな
_Deref_
演算子が見つかりました。
この警告は、警告 C28302 に似ています。パラメーターで追加レベルの _Deref_
が使用される場合に報告されます。
SAL2 では、参照パラメーターを処理するときに追加レベルを _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 **&buff, int &n)
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示