unção Template C ++ do Modelo
Como escrevo uma função de modelo que opera em um contêiner arbitrário de um tipo arbitrário? Por exemplo, como eugeneraliza esta função fictícia
template <typename Element>
void print_size(const std::vector<Element> & a)
{
cout << a.size() << endl;
}
par
template <template<typename> class Container, typename Element>
void print_size(const Container<Element> & a)
{
cout << a.size() << endl;
}
Aqui é um uso típico
std::vector<std::string> f;
print_size(f)
Este erro
tests/t_distances.cpp:110:12: error: no matching function for call to ‘print(std::vector<std::basic_string<char> >&)’. I'm guessing I must tell the compiler something more specific about what types that are allowed.
O que é isso variante do modelo de uso ligou e como faço para corrigir isso?