Ich benutze for_each und mem_fun_ref als Beispiel, aber es gibt einige Fehler in der Kompilierung, was ist das Problemfor_each und mem_fun_ref Mühe
#include<iostream>
#include<algorithm>
#include<set>
#include<iterator>
using namespace std;
class Tst
{
public:
Tst(int a, string b):n(a),s(b)
{}
bool operator<(const Tst& t)const
{
return this->n < t.n;
}
int GetN()const
{
return n;
}
string GetS()const
{
return s;
}
void SetN(int a)
{
n = a;
}
void SetName(string name)
{
s = name;
}
void Print(void)
{
cout <<"n is:" << n <<"\ts is:" << s << endl;
}
private:
int n;
string s;
};
int main(void)
{
typedef set<Tst> TstSet;
TstSet tst;
tst.insert(Tst(10, "abc"));
tst.insert(Tst(1, "def"));
for_each(tst.begin(), tst.end(), mem_fun_ref(&Tst::Print));
return true;
}
: 4200: 错误: 对 '(std :: mem_fun_ref_t) (const Tst &) '的 调用 没有 匹配, 是 什么 原因
danke funktioniert, ist es verstehen –