# include <iostream>
# include <vector>
# include <set>
# include <algorithm>
using namespace std;
class Temp
{
public:
int zwrocPole() const
{
return pole;
}
Temp(int liczba):pole(liczba){}
private:
int pole;
};
int main()
{
set<Temp*> wektor;
wektor.insert(new Temp(5));
wektor.insert(new Temp(5));
wektor.insert(new Temp(5));
struct predykat
{
int wartosc;
predykat(const int tmpWartosc):wartosc(tmpWartosc){}
bool operator() (const Temp* tmp)
{
return tmp->zwrocPole() == wartosc;
}
};
set<Temp*>::iterator it;
it = find_if(wektor.begin(), wektor.end(), predykat(5)); // *****
cout << (*it)->zwrocPole() << endl;
return 0;
}
Pod Visualem leci, pod gcc kuleje z bledem dopasowania funkcji i smiesznymi stl'owskimi komunikatami w miejscu zazanaczonym w komentarzem.
Co poradzic?