我已經使用find_if與列表和C++中的向量,它工作正常。但現在,當我嘗試帶套,我得到以下錯誤使用它:find_if in set in C++:無法解析的重載函數類型
error: no matching function for call to ‘find_if(std::set<A, Acmp>::iterator,
std::set<A, Acmp>::iterator, <unresolved overloaded function type>)’|
我的階級是這樣的:
bool searchForA(A i) {
return (i.getVal() > 0);
}
void B::findA()
{
set<A, Acmp> cont;
set<A, Acmp>::iterator it;
A *a1 = new A(5);
A *a2 = new A(7);
cont.insert(*a1);
cont.insert(*a2);
it = find_if (cont.begin(), cont.end(), search)
}
誰能幫助我瞭解問題出在哪裏?
不,我沒有把這個包含在A類裏面。如果我可能會問,爲什麼會超載<影響find_if? – FranXh 2013-03-06 04:42:17
如何聲明'搜索(一個const&i)' – 2013-03-06 04:44:15
這是一個可愛的方式來泄漏內存。指針是完全沒有必要的。順便說一句,[this](http://liveworkspace.org/code/3v0m5c%247)是密切合作的。 – chris 2013-03-06 04:45:03