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


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

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

Атрибут C++ нельзя применить к типу СРЕДЫ CLR. Дополнительные сведения см . в справочнике по атрибутам C++.

Дополнительные сведения см. в разделе User-Defined Attributes.

Эта ошибка может быть создана в результате работы по соответствию компилятора, которая была выполнена для Visual Studio 2005: атрибут uuid больше не разрешен для определяемого пользователем атрибута с помощью программирования CLR. Вместо этого используйте GuidAttribute.

Пример

Следующий пример приводит к возникновению ошибки C3451.

// C3451.cpp
// compile with: /clr /c
using namespace System;
[ attribute(AttributeTargets::All) ]
public ref struct MyAttr {};

[ MyAttr, helpstring("test") ]   // C3451
// try the following line instead
// [ MyAttr ]
public ref struct ABC {};