Compilerfehler C2364

'Typ': ungültiger Typ für benutzerdefiniertes Attribut

Benannte Argumente für benutzerdefinierte Attribute sind auf Kompilierzeitkonstanten beschränkt. Beispiel: integrale Typen (int, char usw.), System::Type^und System::Object^.

Beispiel

Im folgenden Beispiel wird C2364 generiert.

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

[attribute(AttributeTargets::All)]
public ref struct ABC {
public:
   // Delete the following line to resolve.
   ABC( Enum^ ) {}   // C2364
   ABC( int ) {}   // OK
};