Если ваша цель - вывести каждый элемент, вы не должны ограничиваться векторами. Идиоматическое, общее решение состоит в том, чтобы вместо этого передать два итератора:
template<typename ForwardIterator>
void display_contents(ForwardIterator begin, ForwardIterator end)
{
for (ForwardIterator it = begin; it != end; ++it)
{
std::cout << *it << '\n';
}
}
Тогда вы можете использовать шаблон с векторами, наборами и практически всеми другими контейнерами:
int main()
{
std::vector<int> a {2, 3, 5, 7};
display_contents(a.begin(), a.end());
std::set<int> b {11, 13, 17, 19};
display_contents(b.begin(), b.end());
}