영어로 읽기

다음을 통해 공유


경고 C28303

C++ 참조 매개 변수 <parameter_name> 경우 '주석'에서 모호한 _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)