Je suis en train d'utiliser std::min_element
et std::max_element
de retour le min et max des éléments dans un vecteur de double. Mon compilateur n'aime pas la façon dont je suis en train d'essayer de les utiliser, et je ne comprends pas le message d'erreur. Je pourrais bien sûr écrire mon propre procédure pour trouver le min/max, mais je voudrais comprendre comment utiliser les fonctions.
#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;
}
Voici l'erreur du compilateur:
../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
Quelqu'un pour expliquer ce que je fais mal?