次の方法で共有


コンパイラ エラー C2108

添字に整数でない型が使われました。

解説

配列の添字は整数以外の式です。

値の型の this ポインターを不正に使用して型の既定のインデクサーにアクセスすると、C2108 エラーが発生します。 詳細については、「this ポインターのSemanticsを参照してください。

次の例では 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();
}