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 **&buff, int &n)