Teilen über


Compilerfehler C3451

„attribute“: Ein nicht verwaltetes Attribut kann nicht auf „type“ angewendet werden

Bemerkungen

Ein C++-Attribut kann nicht auf einen CLR-Typ angewendet werden. Weitere Informationen finden Sie unter C++-Attributreferenz .

Weitere Informationen finden Sie unter User-Defined Attributes.

Dieser Fehler kann als Ergebnis der Compilerkonformität generiert werden, die für Visual Studio 2005 ausgeführt wurde: Das uuid-Attribut ist für ein benutzerdefiniertes Attribut nicht mehr mit clR-Programmierung zulässig. Verwenden Sie stattdessen GuidAttribute.

Beispiel

Im folgenden Beispiel wird C3451 generiert.

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