Compartir a través de


Error del compilador C2107

índice no válido, direccionamiento indirecto no permitido

Se ha intentado aplicar un subíndice a una expresión que no se evalúa como puntero.

Ejemplo

El error C2107 puede aparecer si utiliza incorrectamente el puntero this de un tipo de valor para tener acceso al indizador predeterminado del tipo. Para obtener más información, consulte Semántica del puntero this.

La muestra siguiente genera el error 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();
}