Bagikan melalui


Compiler Warning C4958

'operation' : aritmetika pointer tidak dapat diverifikasi

Keterangan

Menggunakan aritmatika pointer akan menghasilkan gambar yang tidak dapat diverifikasi.

Untuk informasi selengkapnya, lihat Kode Murni dan Dapat Diverifikasi (C++/CLI).

Opsi kompilator /clr:safe tidak digunakan lagi di Visual Studio 2015 dan tidak didukung di Visual Studio 2017.

Peringatan ini dikeluarkan sebagai kesalahan dan dapat dinonaktifkan dengan pragma peringatan atau opsi kompilator /wd .

Contoh

Sampel berikut menghasilkan 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
}

Pengkompilasi mengimplementasikan operasi array dengan aritmatika pointer. Oleh karena itu, array asli tidak dapat diverifikasi; gunakan array CLR sebagai gantinya. Untuk informasi selengkapnya, lihat array.

Sampel berikut menghasilkan C4958:

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

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