Я пытаюсь использовать std::min_element
и std::max_element
, чтобы вернуть минимальные и максимальные элементы в вектор двойников. Мой компилятор не любит, как я в настоящее время пытаюсь их использовать, и я не понимаю сообщение об ошибке. Я мог бы, конечно, написать свою собственную процедуру, чтобы найти min/max, но я хотел бы понять, как использовать функции.
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, char** argv) {
double cLower, cUpper;
vector<double> C;
// code to insert values in C not shown here
cLower = min_element(C.begin(), C.end());
cUpper = max_element(C.begin(), C.end());
return 0;
}
Вот ошибка компилятора:
../MIXD.cpp:84: error: cannot convert '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' to 'double' in assignment
../MIXD.cpp:85: error: cannot convert '__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >' to 'double' in assignment
Кто-нибудь, пожалуйста, объясните, что я делаю неправильно?