共用方式為


編譯器警告 C4958

' operation ' : 指標算術無法驗證

備註

使用指標算術會產生未經驗證的影像。

如需詳細資訊,請參閱 純和可驗證的程式碼(C++/CLI)。

Visual Studio 2015 中已淘汰 /clr:safe 編譯器選項,在 Visual Studio 2017 中不受支援。

發出這個警告即表示發生錯誤,而且可以使用 warning pragma 或 /wd 編譯器選項予以停用。

範例

下列範例會產生 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
}

編譯器使用指標算術來實作陣列運算。 因此,無法驗證原生陣列。請改用 CLR 陣列。 如需詳細資訊,請參閱 陣列

下列範例會產生 C4958:

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

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