Mi pregunta es si es posible definir una función con varios <templates>. Para que se entienda mejor os pongo un ejemplo sencillo, imaginad tener una función que devuelve el tamaño de una pila <stack> de cualquier tipo (sí, ya se que eso ya existe pero para hacer sencillo el ejemplo):
template <class T>
size_t stackSize(const stack<T> &s){
return s.size();
}
Hasta aquí todo bien pero si queremos hacer una función que reciba dos pilas de distinto tipo y devuelva el tamaño de la más grande... La idea es algo así, pero tendríamos errores de compilación por un conflicto entre el tipo de la primera pila y el de la segunda si no son iguales.
template <class T>
size_t biggestStackSize(const stack<T> &st1, const stack<T> &st2){
size_t size = st1.size();
if(st2.size() > size)
size = st2.size();
return size;
}
Ya sé que en este caso podría hacerse sin tanta función ni <template> pero es posible hacerlo así definiendo dos <template> distintos?? :huh:
template <typename T1, typename T2>