У меня проблемы со временем компиляции со следующим кодом:
template <typename T,
template <class T, class Allocator = std::allocator<T> > class C>
bool is_in(const C<T>& a, const C<T>& b);
template <typename T, std::vector> // HERE
bool is_in(const std::vector<T>& a, const std::vector<T>& b)
{
return false; // implementation tbd
}
...
vector<int> a, b;
cout << is_in(a,b) << endl;
Сообщение об ошибке (в строке, помеченной "ЗДЕСЬ"):
error: 'std::vector' is not a type
(конечно, У меня есть включенный вектор из std!).Любое предложение?Некоторое время я возился с этим, но дошел до того, что я мог бы использовать некоторую помощь :-) Мне нужно частично специализировать первоначальное объявление шаблона, чтобы иметь возможность реализации переключателя компилятора в зависимости от фактического типаконтейнер C (будет is_in для наборов, один для векторов, один для диапазонов ..., каждый раз с разными алгоритмами).
Спасибо!