Поделиться через


Предупреждение компилятора (уровень 1) C4965

неявное поле целого числа 0; использование nullptr или явного приведения

Visual C++ предоставляет неявное поле типов значений. Инструкция, которая привела к назначению NULL с помощью управляемые расширения для C++ теперь становится назначением в прямоугольную int.

Дополнительные сведения см. в разделе Упаковка.

Пример

Следующий пример приводит к возникновению ошибки 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);
}