Partager via


Erreur du compilateur C3451

'attribut' : impossible d’appliquer l’attribut non managé à 'type'

Un attribut C++ ne peut pas être appliqué à un type CLR. Consultez la référence des attributs C++ pour plus d’informations.

Pour plus d'informations, consultez User-Defined Attributes.

Cette erreur peut être générée suite au travail de conformité du compilateur effectué pour Visual Studio 2005 : l’attribut uuid n’est plus autorisé sur un attribut défini par l’utilisateur à l’aide de la programmation CLR. Utilisez GuidAttribute à la place.

Exemple

L’exemple suivant génère l’erreur 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 {};