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
}