Erreur du compilateur C3459
'attribute' : attribut autorisé uniquement sur un indexeur de classe (propriété indexée par défaut)
Un attribut conçu pour être appliqué à une propriété d’indexeur de classe a été utilisé incorrectement.
Pour plus d’informations, consultez How to : Use Properties in C++/CLI.
Exemple
L’exemple suivant génère l’erreur C3459 :
// C3459.cpp
// compile with: /clr /c
public ref class MyString {
public:
[System::Runtime::CompilerServices::IndexerName("Chars")] // C3459
property int Prop;
};
// OK
public ref class MyString2 {
array<int>^ MyArr;
public:
MyString2() {
MyArr = gcnew array<int>(5);
}
[System::Runtime::CompilerServices::IndexerName("Chars")] // OK
property int default[int] {
int get(int index) {
return MyArr[index];
}
void set(int index, int value) {
MyArr[index] = value;
}
}
};