Załóżmy że mamy prostą funkcję szablonową:
template <typename T>
void foo(T t)
{
cout << "foo<T>" << endl;
}
konkretyzacja typem prostym nie jest problemem:
template <>
void foo<int>(int t)
{
cout << "foo<int>" << endl;
}
ani typem szablonowym:
template<>
void foo<vector<int>>(vector<int> t)
{
cout << "foo<vector<int>>" << endl;
}
ale co jeśli chcemy użyć ogólnego vector<T>
?
próbowałem na różne sposoby, np.
template<>
template<typename T>
void foo<vector<T>>(vector<T> t)
{
cout << "foo<vector<T>>" << endl;
}
ale kompilator nie łyka.
da się to jakoś zrobić?