Неустранимая ошибка C1202
рекурсивный тип или слишком сложный контекст зависимости функций
Определение шаблона было рекурсивным или превысило ограничения сложности.
Примеры
При компиляции следующего примера возникнет ошибка C1202.
// 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;
Возможное решение.
// 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;