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


Ошибка компилятора C3828

"тип объекта": аргументы размещения не разрешены при создании экземпляров управляемых или WinRTclasses

При создании объекта управляемого типа или типа среда выполнения Windows нельзя использовать форму размещения оператора ref new, gcnew или new.

В следующем примере показано возникновение ошибки C3828 и приводятся сведения по ее устранению.

// C3828a.cpp
// compile with: /clr
ref struct M {
};

ref struct N {
   static array<char>^ bytes = gcnew array<char>(256);
};

int main() {
   M ^m1 = new (&N::bytes) M();   // C3828
   // The following line fixes the error.
   // M ^m1 = gcnew M();
}