axeljaeger
12-08-2003, 13:59
Ich muss doppelte Elemente aus einem stl::vector löschen und wollte das ganze erstmal in einem kleinen Beispiel testen. Das Beispiel stammt so fast 1 zu 1 aus einem Buch, aber beim kompilieren bekomme ich ganz abenteuerliche Fehlermeldungen:
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
template<class T>
void Anzeige(const T& x) { cout << x << endl;}
int main(int argc, char ** argv)
{
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(2);
v.push_back(3);
v.push_back(1);
v.push_back(3);
sort(v.begin(), v.end());
for_each(v.begin(), v.end(), Anzeige);
cout << "Ohne doppelte" << endl;
v.unique();
for_each(v.begin(), v.end(), Anzeige);
return 0;
}
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
template<class T>
void Anzeige(const T& x) { cout << x << endl;}
int main(int argc, char ** argv)
{
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(2);
v.push_back(3);
v.push_back(1);
v.push_back(3);
sort(v.begin(), v.end());
for_each(v.begin(), v.end(), Anzeige);
cout << "Ohne doppelte" << endl;
v.unique();
for_each(v.begin(), v.end(), Anzeige);
return 0;
}