ここにコードがあります
#include <string>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
class test {
struct con {
string s1;
string s2;
};
public:
void somefunc();
private:
bool pred(con c1, con c2);
vector<con> vec;
};
void test::somefunc()
{
vector<con> v;
vector<con>::iterator it = find_first_of(vec.begin(), vec.end(), v.begin(), v.end(), pred);
}
bool test::pred(con c1, con c2)
{
return 0;
}
それはエラーを与える
est.cpp(24) : エラー C2664: 'struct test::con *__cdecl std::find_first_of(struct test::con *,struct test::con *,struct test::con *,struct test::con * ,bool (__thiscall *)(struct test::con,str uct test::con))' : パラメータ 5 を 'bool (struct test::con,struct test::con)' から 'bool (__thiscall * )(struct test::con,struct test::con)' スコープ内のこの名前の関数は、ターゲットの型と一致しません
(__thiscall*) とは何か、述語関数をそれに変換する方法がわかりません。