Sdílet prostřednictvím


Chyba kompilátoru C3915

'type' nemá žádnou výchozí indexovanou vlastnost (indexer třídy)

Poznámky

Typ nemá výchozí indexovanou vlastnost.

Další informace naleznete v tématu vlastnost.

Příklady

Následující příklad vygeneruje C3915.

// 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
}

K C3915 může dojít také v případě, že se pokusíte použít výchozí indexer ve stejné compiland, kde byl definován s DefaultMemberAttribute.

Následující příklad vygeneruje C3915.

// 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
}