template<typename T, typename U> void f(T, U); // 1 template<typename U, typename T> void f(T, U); // 2