Share via


Derleyici Uyarısı C4958

'operation' : işaretçi aritmetiği doğrulanabilir değil

Açıklamalar

İşaretçi aritmetiği kullanıldığında, tanımlanamaz bir görüntü oluşturulur.

Daha fazla bilgi için bkz . Saf ve Doğrulanabilir Kod (C++/CLI).

/clr:safe derleyici seçeneği Visual Studio 2015'te kullanım dışıdır ve Visual Studio 2017'de desteklenmez.

Bu uyarı bir hata olarak verilir ve uyarı pragması veya /wd derleyici seçeneğiyle devre dışı bırakılabilir.

Örnek

Aşağıdaki örnek C4958 oluşturur:

// 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
}

Derleyici, işaretçi aritmetiği ile dizi işlemleri uygular. Bu nedenle, yerel diziler doğrulanabilir değildir; bunun yerine bir CLR dizisi kullanın. Daha fazla bilgi için bkz . dizi.

Aşağıdaki örnek C4958 oluşturur:

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

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