Compiler Error C2717
'__nogc new' cannot be used to create a managed type object
__nogc new can only be used to create instances of unmanaged classes and value types. For more information, see __nogc.
C2717 is only reachable using /clr:oldSyntax.
The following sample generates C2717:
// C2717.cpp
// compile with: /clr:oldSyntax
#using <mscorlib.dll>
using namespace System;
__gc class G {};
int main() {
G* pG = __nogc new G; // C2717
G* pG2 = new G; // OK
G* arr __gc[] = __nogc new G*[10]; // C2717
G* arr2 __gc[] = new G*[10]; // OK
}