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