共用方式為


C28303

警告 C28303: 對於 C++ 參考參數<parameter_name>,額外的 _Deref_ 運算子能在 <annotation>中被找到。

當額外層級的 _Deref_ 被使用參數時,使用這個類似警告 C28302 的警告和報告。

在處理參考參數時, SAL2 不需要使用 _Deref_ 的額外層級。這個特定附註對於何種層級被通知的設定並不清楚。使用 _At_ 參考要被通知的特定物件是必要的。

範例

下列程式碼會因為在 __deref_out_ecount(n) 屬性中輸入了無效的值,而產生這個警告:

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

上述附註可以解譯為如下所示:

  • 陣列的參考 (n) 為整數 (SAL1 的指標說明)

  • 從指標到陣列的參考 (n) 個整數 (SAL1 的指標說明)

下列其中一個可以更正這則警告:

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