Я изучаю Липманна, и я только изучаю. Я пытаюсь здесь написать код, который вернет минимальный элемент в вектор. Когда я компилирую свой код в Codeblocks, он говорит: «Объявление шаблона не может появляться в области блока». Вот код:Объявление шаблона не может появляться в области кадра
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
template <class elemType>
elemType save;
elemType min (const std::vector<elemType> &vec) {
std::vector<elemType>::iterator it = vec.begin(), end_it = vec.end();
std::vector<elemType>::iterator iter = std::next(it, 1);
for (; it != end_it; it++) {
if (*it < *(it + 1)) {
save = *it;
}
if (save < *it) {
save = *it;
}
}
};
int massiv[10] = {35, 66, 98, 15, 32, 41, 24, 90, 55, 100};
std::vector<int> vec_train(massiv,massiv+10);
min(vec_train);
return 0;
}
На самом деле вы можете просто использовать 'std :: min_element'. –
Я думаю, здесь дело в том, что OP пытался понять, как реализовать такой шаблон функции. – SU3