Использование элемента std::max_в векторе

Я пытаюсь использовать 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

Кто-нибудь объясните, что я делаю не так?

72
задан synaptik 15 April 2012 в 01:03
поделиться