Compilerwarnung C4958
'operation' : Zeigerarithmetik ist nicht überprüfbar
Hinweise
Bei Verwendung der Zeigerarithmetik wird ein nicht überprüfbares Image erstellt.
Weitere Informationen finden Sie unter Pure and Verifiable Code (C++/CLI).For more information, see Pure and Verifiable Code (C++/CLI).
Die Option "/clr:safe compiler" ist in Visual Studio 2015 veraltet und wird in Visual Studio 2017 nicht unterstützt.
Diese Warnung wird als Fehler ausgegeben. Sie kann mithilfe des warning -Pragmas oder der Compileroption /wd deaktiviert werden.
Beispiel
Im folgenden Beispiel wird C4958 generiert:
// 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
}
Der Compiler implementiert Arrayoperationen mit Zeigerarithmetik. Daher sind systemeigene Arrays nicht überprüfbar. Verwenden Sie stattdessen ein CLR-Array. Weitere Informationen finden Sie unter Array.
Im folgenden Beispiel wird C4958 generiert:
// C4958b.cpp
// compile with: /clr:safe
// #pragma warning( disable : 4958 )
int main() {
int array[5];
array[4] = 0; // C4958
}