Erro do compilador C2108
o subscrito não é de tipo integral
Comentários
O subscrito de matriz é uma expressão não inteiro.
Exemplo
O C2108 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 C2108.
// C2108.cpp
// compile with: /clr
using namespace System;
value struct B {
property Double default[Double] {
Double get(Double data) {
return data*data;
}
}
void Test() {
Console::WriteLine("{0}", this[3.3]); // C2108
Console::WriteLine("{0}", this->default[3.3]); // OK
}
};
int main() {
B ^ myb = gcnew B();
myb->Test();
}