Fatal Error C1202
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 Fatal Error C1202.
recursive type or function dependency context too complex
A template definition was recursive or exceeded complexity limits.
The following sample generates 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;
Possible resolution.
// 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;
Show: