Compilerfehler C3451

Aktualisiert: November 2007

Fehlermeldung

'Attribut': Ein nicht verwaltetes Attribut kann nicht auf 'Typ' angewendet werden
'attribute': cannot apply unmanaged attribute to 'type'

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

Weitere Informationen finden Sie unter User-Defined Attributes.

Dieser Fehler kann infolge einer Verbesserung der Compilerkonformität für Visual C++ 2005 ausgegeben werden: Das uuid (C++ Attributes)-Attribut ist nicht mehr für ein benutzerdefiniertes Attribut mit der CLR-Programmierung zulässig. Stattdessen sollte GuidAttribute verwendet werden.

Weitere Informationen finden Sie unter Wichtige Änderungen im Visual C++ 2005-Compiler.

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