Compartilhar via


Erro do compilador C3451

'attribute': não pode aplicar atributo não gerenciado a 'type'

Um atributo C++ não pode ser aplicado a um tipo CLR. Consulte Referência de atributos C++ para obter mais informações.

Para obter mais informações, confira Atributos definidos pelo usuário.

Esse erro pode ser gerado como resultado do trabalho de conformidade do compilador que foi feito para o Visual Studio 2005: o atributo uuid não é mais permitido em um atributo definido pelo usuário usando a programação CLR. Use GuidAttribute em vez disso.

Exemplo

A amostra a seguir gera o erro 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 {};