Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
We recommend using Visual Studio 2017

Compiler Error C3828

 

The latest version of this topic can be found at Compiler Error C3828.

object type': placement arguments not allowed while creating instances of managed or WinRTclasses

When creating an object of a managed type or Windows Runtime type, you cannot use the placement form of operator ref new, gcnew or new.

The following sample generates C3828 and shows how to fix it:

// 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();  
}  

Show: