Compartilhar via


Erro do Compilador C3915

'type' não tem propriedade indexada padrão (indexador de classe)

Um tipo não tem uma propriedade indexada padrão.

Para obter mais informações, confira propriedade.

Exemplos

A amostra a seguir gera 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
}

C3915 também pode ocorrer se você tentar consumir um indexador padrão na mesma compilação em que foi definido com DefaultMemberAttribute.

A amostra a seguir gera 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
}