Aracılığıyla paylaş


C28303

uyarı C28303: C++ başvuru-parametresi için <parameter_name>, belirsiz bir _Deref_ işleç <annotation> üzerinde bulundu.

Bu uyarı uyarı C28302 benzerdir ve _Deref_ 'nin ekstra düzeylerindeki bir parametre üzerinde kullanıldığında raporlanır.

SAL2 ekstra _Deref_ seviyesini başvuru parametreleriyle ilgiliyken kullanmayı gerektirmez.Bu belirli açıklama, hangi düzeyde açıklamalı olarak referanstan ayrılması belirsiz seçenektir.Bazı durumlarda belirli bir nesnenin açıklamasına başvurmak için _At_ kullanmak gerekli olabilir.

Örnek

Aşağıdaki kod, __deref_out_ecount(n) belirsiz kullanıldığı zaman, bu uyarıyı oluşturur:

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

Yukarıdaki açıklama şöyle de yorumlanabilir:

  • İntegerlar (SAL1 yorumu) için bir dizi (n) işaretçinin referansı

  • İntegerlar (SAL1 yorumu) için bir dizi (n) işaretçinin referansı

Aşağıdakilerden biri ile bu uyarıyı düzeltebilirsiniz:

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