Aracılığıyla paylaş


Derleyici Uyarısı C4957

'cast' : 'cast_from'den 'cast_to' olarak açıkça atama doğrulanamaz

Açıklamalar

Atama, tanımlanamaz bir görüntüye neden olur.

Bazı atamalar güvenlidir (örneğin, static_cast kullanıcı tanımlı dönüştürmeleri tetikleyen bir ve ).const_cast safe_cast doğrulanabilir kod üretmesi garanti edilir.

Daha fazla bilgi için bkz . Saf ve Doğrulanabilir Kod (C++/CLI).

/clr:safe derleyici seçeneği Visual Studio 2015'te kullanım dışıdır ve Visual Studio 2017'de desteklenmez.

Bu uyarı bir hata olarak verilir ve uyarı pragması veya /wd derleyici seçeneğiyle devre dışı bırakılabilir.

Örnek

Aşağıdaki örnek C4957 oluşturur:

// C4957.cpp
// compile with: /clr:safe
// #pragma warning( disable : 4957 )
using namespace System;
int main() {
   Object ^ o = "Hello, World!";
   String ^ s = static_cast<String^>(o);   // C4957
   String ^ s2 = safe_cast<String^>(o);   // OK
}