Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: K-YreX en 14 Diciembre 2018, 21:44 PM

Título: Usar varios templates en una misma función
Publicado por: K-YreX en 14 Diciembre 2018, 21:44 PM
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):
Código (cpp) [Seleccionar]

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.
Código (cpp) [Seleccionar]

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:
Título: Re: Usar varios templates en una misma función
Publicado por: CalgaryCorpus en 14 Diciembre 2018, 21:59 PM
Código (cpp) [Seleccionar]
template <typename T1, typename T2>