Erro do compilador C2107
índice inválido, indireção não permitida
Um subscrito é aplicado a uma expressão que não é avaliada como um ponteiro.
Exemplo
O C2107 poderá ocorrer se você usar incorretamente o ponteiro this
de um tipo de valor para acessar o indexador padrão do tipo. Para obter mais informações, confira Semântica do ponteiro this
.
O exemplo a seguir gera o erro 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();
}