Я думаю, вы хотите сделать статическое приведение внутри функции. Например:
template <class Type, Type2>
Type larger(Type x, Type2 y) {
Type ycasted = static_cast<Type>(y);
//compare x and ycasted
}
Однако, возможно, я неправильно понял ваш вопрос. Надеюсь, это поможет.