У меня есть эта функция:шаблона аргумент-редукции для возвращения типа
std::vector<std::pair<std::vector<int>::iterator, std::vector<int>::iterator> >
split( const std::vector<int>& vector,size_t slices){
...
}
и так `ы довольно громоздким, и я, вероятно, нужно будет разделить другие виды векторов в будущем, я хочу сделать он на основе шаблонов, но это проба не удалась:
template<typename T>
std::vector<std::pair< std::vector<T>::iterator, std::vector<T>::iterator> >
split(const std::vector<T>& vector, size_t slices)
...
}
Есть две проблемы, что я вижу: 1 - я не могу использовать вектор или карту или список, только вектор. 2 - Я не очень хорошо разбираюсь в материалах для сокращения шаблонов.
любое объяснение оценен.
И почему этот пробой не удалось? Вы всегда должны публиковать сообщение об ошибке. (Я думаю, вам может не хватать два 'typename's '). – Zeta
Вы должны, вероятно, либо взять ссылку на константу, либо использовать 'const_iterator' в вашем типе результата. – Fozi
Zeta, проблема была в названии типа, но не только в качестве имени, так как я пропускал вектор, а не только T (как вектор beign T.). Fozi, спасибо, обновлено в моем коде. :) –