C++-Vorlagen funktionieren nicht auf diese Weise. Die allgemeine Idee von Vorlagen ist es, etwas auszudrücken, das für viele verschiedene Typen gemeinsam ist. Und in Ihrem Fall sollten Sie Template-Spezialisierung verwenden.
template<class T> ostream& operator<< (ostream& out, const vector<T>& v)
{
// your general code for all type
}
// specialized template
template<> ostream& operator<< <int>(ostream& out, const vector<int>& vec)
{
// your specific to iny type code goes here
}
Dann ruft der C++-Compiler diese Funktion auf, wenn Sie den Typ int verwenden, und die allgemeine Implementierung für jeden anderen Typ
std::vector<int> f(5, 5);
std::cout << f;