Share via


编译器错误 C2108

下标不是整型

备注

数组下标是一个非整数表达式。

示例

如果错误地使用值类型的 this 指针访问该类型的默认索引器,则会引发 C2108。 有关详细信息,请参阅 this 指针的语义

以下示例将生成 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();
}