次の方法で共有


コンパイラの警告 (レベル 1) C4965

整数 0 の暗黙的なボックスです。nullptr または明示的なキャストを使用してください

Visual C++ には、値の型の暗黙的にボックス化する機能があります。 Managed Extensions for C++ を使用した結果が null 割り当てであった命令は、ボックス化された int への割り当てになります。

詳細については、「 ボックス化で定義されているインターフェイスのプライベート C++ 固有の実装です。

次の例では C4965 が生成されます。

// C4965.cpp
// compile with: /clr /W1
int main() {
   System::Object ^o = 0;   // C4965

   // the previous line is the same as the following line
   // using Managed Extensions for C++
   // System::Object *o = __box(0);

   // OK
   System::Object ^o2 = nullptr;
   System::Object ^o3 = safe_cast<System::Object^>(0);
}