Dela via


Kompilatorvarning C4958

"operation" : pekarens aritmetik är inte verifierbar

Anmärkningar

Om du använder pekarens aritmetik skapas en icke-verifierad bild.

Mer information finns i Ren och verifierbar kod (C++/CLI).

Alternativet /clr:safe compiler är inaktuellt i Visual Studio 2015 och stöds inte i Visual Studio 2017.

Den här varningen utfärdas som ett fel och kan inaktiveras med varnings pragma eller kompilatoralternativet /wd .

Examples

I följande exempel genereras 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
}

Kompilatorn implementerar matrisåtgärder med pekararitmetik. Därför kan interna matriser inte verifieras. använd en CLR-matris i stället. Mer information finns i matrisen.

I följande exempel genereras C4958:

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

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