Compiler Error C3293
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C3293.
accessor': use 'default' to access the default property (indexer) for class 'type'
An indexed property was accessed incorrectly. See How to: Use Indexed Properties for more information.
The following sample generates C3293.
// C3293.cpp
// compile with: /clr /c
using namespace System;
ref class IndexerClass {
public:
// default indexer
property int default[int] {
int get(int index) { return 0; }
void set(int index, int value) {}
}
};
int main() {
IndexerClass ^ ic = gcnew IndexerClass;
ic->Item[0] = 21; // C3293
ic->default[0] = 21; // OK
String ^s = "Hello";
wchar_t wc = s->Chars[0]; // C3293
wchar_t wc2 = s->default[0]; // OK
Console::WriteLine(wc2);
}
Show: