#include <type_traits>
#include <cmath>
template<typename U = typename std::enable_if<std::is_floating_point<U>::value>::type>
static bool is_equal(U left, U right)
{
return (std::abs(left - right) < 0);
}
//
template<typename U = typename std::enable_if<std::is_integral<U>::value>::type>
static bool is_equal(U left, U right)
{
return (left == right);
}
int main() {}
ICAgICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KICAgICNpbmNsdWRlIDxjbWF0aD4KICAgIAogICAgdGVtcGxhdGU8dHlwZW5hbWUgVSA9IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHN0ZDo6aXNfZmxvYXRpbmdfcG9pbnQ8VT46OnZhbHVlPjo6dHlwZT4KICAgIHN0YXRpYyBib29sIGlzX2VxdWFsKFUgbGVmdCwgVSByaWdodCkKICAgIHsKICAgICAgICByZXR1cm4gKHN0ZDo6YWJzKGxlZnQgLSByaWdodCkgPCAwKTsKICAgIH0KICAgICAKICAgIC8vCiAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVID0gdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8c3RkOjppc19pbnRlZ3JhbDxVPjo6dmFsdWU+Ojp0eXBlPgogICAgc3RhdGljIGJvb2wgaXNfZXF1YWwoVSBsZWZ0LCBVIHJpZ2h0KQogICAgewogICAgICAgIHJldHVybiAobGVmdCA9PSByaWdodCk7CiAgICB9CiAgICAgCiAgICBpbnQgbWFpbigpIHt9
prog.cpp:4:74: error: 'U' was not declared in this scope
template<typename U = typename std::enable_if<std::is_floating_point<U>::value>::type>
^
prog.cpp:4:75: error: template argument 1 is invalid
template<typename U = typename std::enable_if<std::is_floating_point<U>::value>::type>
^
prog.cpp:4:83: error: template argument 1 is invalid
template<typename U = typename std::enable_if<std::is_floating_point<U>::value>::type>
^
prog.cpp:11:68: error: 'U' was not declared in this scope
template<typename U = typename std::enable_if<std::is_integral<U>::value>::type>
^
prog.cpp:11:69: error: template argument 1 is invalid
template<typename U = typename std::enable_if<std::is_integral<U>::value>::type>
^
prog.cpp:11:77: error: template argument 1 is invalid
template<typename U = typename std::enable_if<std::is_integral<U>::value>::type>
^
prog.cpp:12:17: error: redefinition of 'template<class U> bool is_equal(U, U)'
static bool is_equal(U left, U right)
^
prog.cpp:5:17: note: 'template<class U> bool is_equal(U, U)' previously declared here
static bool is_equal(U left, U right)
^