>>333
マジで言ってんのか?

#include <type_traits>
template <class T, typename std::enable_if<std::is_same<T, unsigned int>::value>::type* = nullptr>
void foo(T)
{
}

int main()
{
// foo((int)1);
  foo((unsigned int)1);
}

enablerってこれのことか知らんが、お前のコードだと戻り値voidにしか出来んだろってこと