#include <iostream>
#include <algorithm>
#include <list>
#include <functional>
using namespace std;
int main () {
list<int> a;
for (int i= 0; i<10; i++) a.push_back(i);
cout << a.size();
partial_sort(a.begin(), a.begin()+3, a.end(), greater<int>());
for (int x:a) cout << x << endl;
return 0;
}
Γράφω στο eclipse αυτό το απλό προγραμματάκι για εξάσκηση αλλά ο compiler δεν το μεταγλωτίζει και μου βγάζει λάθος στη γραμμή με το partial_sort. Συγκεκριμένα μου βγάζει το μήνυμα:
Description Resource Path Location Type
no match for 'operator+' (operand types are 'std::__cxx11::list::iterator' {aka 'std::_List_iterator'} and 'int') main.cpp /dummy2 line 16 C/C++ Problem
Παρόμοια μηνύματα σφάλματος παίρνω όταν προσπάθησα να χρησιμοποιήσω άλλους αλγόριθμους ταξινόμησης της algorithm όπως η sort και η stable_sort. Ξέρει κανείς τι μπορεί να πηγαίνει στραβά;