Compiler Error C3828
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
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: