template<class T, class U>
decltype(∗(T∗)(0)∗∗(U∗)(0)) mul(T x, U y)
{
return x∗y;
}

에서 (T*)(0)이 뭔 뜻임?
T가 뭐여야지 (T*)(0)이 성립할까