共用方式為


編譯器錯誤 C3287

類型 'type' (GetEnumerator 的傳回類型) 必須具有適當的公用MoveNext成員函式和 public Current 屬性

備註

使用者定義的集合類別必須包含 MoveNextCurrent的定義。

如需詳細資訊,請參閱 中的每個 。

範例

下列範例會產生 C3287。

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