Partager via


Erreur du compilateur C2107

index illégal, indirection interdite

Un indice est appliqué à une expression qui n’est pas évaluée à un pointeur.

Exemple

C2107 peut se produire si vous utilisez incorrectement le this pointeur d’un type valeur pour accéder à l’indexeur par défaut du type. Pour plus d’informations, consultez Sémantique du this pointeur.

L’exemple suivant génère l’erreur 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();
}