Share via


Upozornění kompilátoru (úroveň 1) C4669

'cast' : nebezpečný převod: 'class' je spravovaný nebo WinRT type object

Přetypování obsahuje prostředí Windows Runtime nebo spravovaný typ. Kompilátor dokončí přetypování provedením bitové kopie jednoho ukazatele na druhý, ale neposkytuje žádnou jinou kontrolu. Chcete-li toto upozornění vyřešit, nepřetypujte třídy obsahující spravované členy nebo typy prostředí Windows Runtime.

Následující ukázka vygeneruje C4669 a ukazuje, jak ji opravit:

// 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
}