template<int x, int y, int z, bool b> struct tarai_ { enum { x_ = tarai_<x-1, y, z, x <= y>::v, y_ = tarai_<y-1, z, x, x <= y>::v, z_ = tarai_<z-1, x, y, x <= z>::v, v = tarai_<x_, y_, z_, x_ <= y_>::v }; }; template <int x, int y, int z> struct tarai_<x, y, z, true> { enum { v = y }; }; template <int x, int y, int z> struct tarai { enum { v = tarai_<x, y, z, x <= y>::v }; }; const int v = tarai<12, 6, 0>::v;
を GCC-4.1.0 でコンパイルしたらエラーがどばーと出て、エラーログが146万行(129MB)とかになったので止めました。
要は失敗。