Erreur du compilateur C3470
'type' : une classe ne peut pas avoir à la fois un indexeur (propriété indexée par défaut) et operator[]
Un type ne peut pas définir à la fois un indexeur par défaut et un operator[].
Exemple
L’exemple suivant génère l’erreur C3470.
// C3470.cpp
// compile with: /clr
using namespace System;
ref class R {
public:
property int default[int] {
int get(int i) {
return i+1;
}
}
int operator[](String^ s) { return Convert::ToInt32(s); } // C3470
};
int main() {
R ^ r = gcnew R;
// return r[9] + r["32"] - 42;
}