Compiler Error C2364

'type': illegal type for custom attribute

Named arguments for custom attributes are limited to compile time constants. For example, integral types (int, char, etc.), System::Type^, and System::Object^.


The following sample generates C2364.

// c2364.cpp  
// compile with: /clr /c  
using namespace System;  

public ref struct ABC {  
   // Delete the following line to resolve.  
   ABC( Enum^ ) {}   // C2364  
   ABC( int ) {}   // OK