Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Compiler Error C2696
Collapse the table of content
Expand the table of content

Compiler Error C2696

Cannot create a temporary object of a managed type 'type'

References to const in an unmanaged program cause the compiler to call the constructor and create a temporary object on the stack. However, a managed class can never be created on the stack.

C2696 is only reachable using /clr:oldSyntax.

The following sample generates C2696:

// C2696b.cpp
// compile with: /clr:oldSyntax

__gc class G {
   G( int i ) {}

void func( const G& g );

int main() {
   func( 1 );   // C2696
   G *myG = new G( 1 );   // OK
   func( *myG );

Community Additions

© 2015 Microsoft