Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Unzulässiges Attributargument
Bemerkungen
Sie haben ein ungültiges Argument für ein Attribut angegeben.
Weitere Informationen finden Sie unter Attributparametertypen .
Dieser Fehler kann als Ergebnis der Compilerkonformität generiert werden, die für Visual Studio 2005 ausgeführt wurde: Wenn verwaltete Arrays an benutzerdefinierte Attribute übergeben werden, wird der Typ des Arrays nicht mehr aus der Aggregatinitialisierungsliste abgeleitet. Der Compiler erfordert jetzt, dass Sie den Typ des Arrays sowie die Initialisierungsliste angeben.
Beispiele
Im folgenden Beispiel wird C3104 generiert.
// C3104a.cpp
// compile with: /clr /c
using namespace System;
[AttributeUsage(AttributeTargets::Class)]
public ref struct ABC : public Attribute {
ABC(array<int>^){}
array<double> ^ param;
};
[ABC( {1,2,3}, param = {2.71, 3.14})] // C3104
// try the following line instead
// [ABC( gcnew array<int> {1,2,3}, param = gcnew array<double>{2.71, 3.14})]
ref struct AStruct{};
Im folgenden Beispiel wird C3104 generiert.
// C3104b.cpp
// compile with: /clr /c
// C3104 expected
using namespace System;
int func() {
return 0;
}
[attribute(All)]
ref class A {
public:
A(int) {}
};
// Delete the following 2 lines to resolve.
[A(func())]
ref class B {};
// OK
[A(0)]
ref class B {};