영어로 읽기

다음을 통해 공유


경고 C6334

sizeof 연산자가 있는 식에 적용된 연산자는 예기치 않은 결과를 생성할 수 있습니다.

설명

연산자는 sizeof 식에 적용할 때 결과 식 형식의 크기를 생성합니다.

코드 분석 이름: SIZEOFEXPR

예시

다음 코드는 이 경고를 생성합니다. a - 4sizeof 이므로 해당 포인터에 있는 구조체의 크기가 아니라 결과 포인터의 크기를 반환합니다.

void f( )
{
    size_t x;
    char a[100];
    x = sizeof(a - 4);
    assert(x == 96);  //assert fails since x == sizeof(char*)
}

이 경고를 수정하려면 인수가 아닌 반환 값 sizeof으로 작업하고 있는지 확인합니다.

void f( )
{
    size_t x;
    char a[100];
    x = sizeof(a) - 4;
    assert(x == 96);  //assert succeeds
}

참고 항목

sizeof 연산자