Bagikan melalui


Compiler Warning (level 1) C4669

'cast' : konversi tidak aman: 'class' adalah objek jenis terkelola atau WinRT

Cast berisi Windows Runtime atau tipe terkelola. Kompiler menyelesaikan pemeran dengan melakukan salinan yang sedikit bijaksana dari satu pointer ke yang lain, tetapi tidak memberikan pemeriksaan lain. Untuk mengatasi peringatan ini, jangan berikan kelas yang berisi anggota terkelola atau jenis Windows Runtime.

Sampel berikut menghasilkan C4669 dan menunjukkan cara memperbaikinya:

// C4669.cpp
// compile with: /clr /W1
ref struct A {
   int i;
   Object ^ pObj;   // remove the managed member to fix the warning
};

ref struct B {
   int j;
};

int main() {
   A ^ a = gcnew A;
   B ^ b = reinterpret_cast<B ^>(a);   // C4669
}