Avertissement du compilateur (niveau 1) C4965

zone implicite d’entier 0 ; utiliser nullptr ou un cast explicite

Visual C++ offre une boxe implicite des types valeur. Une instruction qui a entraîné une affectation Null à l’aide de Extensions managées pour C++ devient désormais une affectation à un int boxed.

Pour plus d'informations, consultez Boxing.

Exemple

L’exemple suivant génère l’erreur 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);
}