Condividi tramite


Errore del compilatore C2107

indice non valido, riferimento indiretto non consentito

Un pedice viene applicato a un'espressione che non restituisce un puntatore.

Esempio

C2107 può verificarsi se si usa erroneamente il this puntatore di un tipo valore per accedere all'indicizzatore predefinito del tipo. Per altre informazioni, vedere Semantica del this puntatore.

L'esempio seguente genera l'errore C2107.

// C2107.cpp
// compile with: /clr
using namespace System;

value struct B {
   property String ^ default[String ^] {
      String ^ get(String ^ data) {
         return "abc";
      }
   }
   void Test() {
      Console::WriteLine("{0}", this["aa"]);   // C2107
      Console::WriteLine("{0}", this->default["aa"]);   // OK
   }
};

int main() {
   B ^ myb = gcnew B();
   myb->Test();
}