Поделиться через


Ошибка компилятора C2364

"type": недопустимый тип для пользовательского атрибута

Именованные аргументы для пользовательских атрибутов ограничены константами времени компиляции. Например, целочисленные типы (int, char и т. д.), System::Type^и System::Object^.

Пример

В следующем примере создается C2364.

// 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
};