需要无限递归的模版实例化
C++-Undefined-Behavior-67
示例:
template <class T>
class A
{
A<T>* p; // OK
A<T*> a; // Undefined behavior
};
如果实例化 A,需要实例化 A<T*>,如果实例化 A<T*>,需要实例化 A<T**>,依次类推,形成了无限递归。
依据
ISO/IEC 14882:2003 14.7.1(14)-undefined
ISO/IEC 14882:2011 14.7.1(15)-undefined