Aracılığıyla paylaş


Önemli Hata C1202

özyinelemeli tür veya işlev bağımlılığı bağlamı çok karmaşık

Şablon tanımı özyinelemeli veya karmaşıklık sınırlarını aştı.

Örnekler

Aşağıdaki örnek C1202 oluşturur.

// C1202.cpp
// processor: x86 IPF
template<int n>
class Factorial : public Factorial<n-1>  {   // C1202
public:
   operator int () {
      return Factorial <n-1>::operator int () * n;
   }
};
Factorial<7> facSeven;

Olası çözüm.

// C1202b.cpp
// compile with: /c
template<int n>
class Factorial : public Factorial<n-1> {
public:
   operator int () {
      return Factorial <n-1>::operator int () * n;
   }
};

template <>
class Factorial<0> {
public:
   operator int () {
      return 1;
   }
};

Factorial<7> facSeven;