建議使用 Visual Studio 2017

C28303

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

警告 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)  
  

顯示: