Compilerfehler C3287
Aktualisiert: November 2007
Fehlermeldung
Der Typ 'Typ' (Rückgabetyp von GetEnumerator) muss eine passende öffentliche MoveNext-Memberfunktion und eine öffentliche Current-Eigenschaft aufweisen
the type 'type' (return type of GetEnumerator) must have a suitable public MoveNext member function and public Current property
Benutzerdefinierte Auflistungsklassen müssen Definitionen für MoveNext und Current enthalten.
Weitere Informationen finden Sie unter How to: Iterate Over a User-Defined Collection with for each.
Beispiel
Im folgenden Beispiel wird C3287 generiert.
// C3287.cpp
// compile with: /clr
using namespace System;
ref struct R {
bool MoveNext() {
return true;
}
property Object^ Current {
Object^ get() {
Object ^ o = gcnew Object;
return o;
}
}
};
ref struct R2 {
R ^GetEnumerator() {
R^ r = gcnew R;
return r;
}
};
ref struct T {};
ref struct T2 {
T ^GetEnumerator() {
T^ t = gcnew T;
return t;
}
};
int main() {
for each (int i in gcnew T2) {} // C3287
for each (int i in gcnew R2) {} // OK
}