Share via


컴파일러 경고 C4958

'operation': 포인터 산술 연산을 확인할 수 없습니다.

설명

포인터 산술 연산을 사용하여 확인할 수 없는 이미지를 생성합니다.

자세한 내용은 순수 및 확인 가능한 코드(C++/CLI)를 참조하세요.

/clr:safe 컴파일러 옵션은 Visual Studio 2015에서 더 이상 사용되지 않으며 Visual Studio 2017에서는 지원되지 않습니다.

이 경고는 오류로 발생하며 warning pragma 또는 /wd 컴파일러 옵션과 함께 사용하지 않도록 설정할 수 있습니다.

예시

다음 샘플에서는 C4958을 생성합니다.

// C4958.cpp
// compile with: /clr:safe
// #pragma warning( disable : 4958 )
using namespace System;

int main( ) {
   Int32 arr[] = new Int32[10];
   Int32* p = &arr[0];
   p++;   // C4958
}

컴파일러는 포인터 산술 연산을 사용하여 배열 연산을 구현합니다. 따라서 네이티브 배열은 확인할 수 없습니다. 대신 CLR 배열을 사용합니다. 자세한 내용은 배열을 참조하세요.

다음 샘플에서는 C4958을 생성합니다.

// C4958b.cpp
// compile with: /clr:safe
// #pragma warning( disable : 4958 )

int main() {
   int array[5];
   array[4] = 0;   // C4958
}