Código
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
Ya sé que en este caso podría hacerse sin tanta función ni <template> pero es posible hacerlo así definiendo dos <template> distintos??
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; }