C28183
경고 C28183: 인수 값 하나 수 및 포인터에서 값의 복사본을 찾을 수
이 경고는 현재 컨텍스트에서 예상이 값이 없음을 나타냅니다.이 경고는 일반적으로 나타나면는 NULL 값이 허용 하지 않는 함수에 인수로 전달 됩니다.실제로 지정 된 변수에서 값을 찾을 하 고 인수 변수 복사본입니다.
이 첫 번째 지점 위치를 확실히 결정할 수 포인터 임을이 경고 코드 분석 도구를 보고 NULL 이거나 잘못 된 값을 포함 하는 것입니다.그러나 오류 추적 앞에 실제로 발생할 경우 종종 있습니다.또한 코드 분석 도구 이런 경우 첫 번째 인스턴스의 가능한-위치는 확실히 적절 한 경고 했음을 확인할 수 없습니다. 일반적으로 위치에 줄 번호를 제공 합니다.이러한 경우가 발생할 수 있는 이전 위치 경고 메시지에 추가 됩니다.일반적으로 코드를 변경 하거나 해당 줄 번호를 앞 아닌 보고서 지점에서 수행 됩니다.
예제
다음 예제에서는 코드 분석 도구를 결정 s 에 NULL 인는 if 문과 본문은 if 수행 되지 않습니다.포인터 s 할당 된 t 후 t 방식으로 사용 됩니다 위치는 NULL 역참조 발생할 수 있습니다.
#include <windows.h>
int fun2(char *s)
{
char *t;
if (s == NULL) {
//... but s is unchanged
}
t = s;
return lstrlenA(t);
}
이 코드 예제에 대 한 코드 분석 도구에서 다음 경고를 보고합니다.