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
}