Condividi tramite


Errore del compilatore C3470

'type': una classe non può avere sia un indicizzatore (proprietà indicizzata predefinita) che un operatore[]

Osservazioni:

Un tipo non può definire sia un indicizzatore predefinito che un operatore[].

Esempio

L'esempio seguente genera l'errore 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;
}