コンパイラの警告 (レベル 1) C4669 (C++)

ビューの切り替え:
スクリプトなし
Visual C++ の概念 : C/C++ プログラムのビルド
コンパイラの警告 (レベル 1) C4669

エラー メッセージ

'cast' : 変換が安全ではありません : 'class' はマネージ型オブジェクトです。

キャストにマネージ型が含まれています。コンパイラは、ポインタ間でビット単位のコピーを実行してキャストを完了しますが、ほかのチェックは行われません。この警告を解決するには、マネージ メンバを含むクラスをキャストしないでください。

次の例では C4669 警告が生成されます。

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

ref struct B {
   int j;
};

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