Freigeben über


Compilerfehler C3915

'type' hat keine standardindizierte Eigenschaft (Klassenindexer)

Bemerkungen

Ein Typ verfügt nicht über eine standardmäßige, indizierte Eigenschaft.

Weitere Informationen finden Sie unter property.

Beispiele

Im folgenden Beispiel wird C3915 generiert.

// C3915.cpp
// compile with: /clr
ref class X {
public:
// uncomment property to resolve this C3915
//   property int default[]
//   {
//      int get(int i)
//      {
//         return 863;
//      }
//   }
};

int main() {
   X^ x = new X;
   System::Console::WriteLine(x[1]);   // C3915
}

C3915 kann auch auftreten, wenn Sie versuchen, einen Standardindexer in demselben Kompiland zu verwenden, in dem sie definiert DefaultMemberAttributewurde.

Im folgenden Beispiel wird C3915 generiert.

// C3915_b.cpp
// compile with: /clr
using namespace System;

[Reflection::DefaultMember("XXX")]
ref struct A {
   property Double XXX[Double] {
      Double get(Double data) {
         return data*data;
      }
   }
};

ref struct B {
   property Double default[Double] {
      Double get(Double data) {
         return data*data;
      }
   }
};

int main() {
   A ^ mya = gcnew A();
   Console::WriteLine("{0}", mya[3]);   // C3915

   B ^ myb = gcnew B();
   Console::WriteLine("{0}", myb[3]);   // OK
}