0
我遇到非常奇怪的錯誤與迭代器工作時,我真的不知道該怎麼想這件事:error: could not convert ‘0’ from ‘int’ to ‘CCarList’
C++迭代器 - 奇怪的轉換
CCarList CRegister::ListCars(const string& name, const string& surname) const {
auto ownerIt = findOwner(name, surname);
if (ownerIt == m_owners.end()) return 0; //Error is on this line
//...
}
findOwner:
vector<TOwner*>::const_iterator CRegister::findOwner(const string& name,
const string& surname) const
{
return lower_bound(m_owners.begin(), m_owners.end(), TOwner(name, surname),
[](const TOwner* a, const TOwner& b){return (*a) < b;});
}
m_owners
是vector<TOwner*>
(TOwner是結構體)
CCarList:
class CCarList {
vector<TCar*>::iterator m_it;
const vector<TCar*>::iterator m_end;
public:
CCarList(vector<TCar*>::iterator it, const vector<TCar*>::iterator end):
m_it(it), m_end(end){}
CCarList(){}
string RZ() const;
bool AtEnd() const;
void Next();
};
哦,我的道歉。我真的有點過度勞累:D – NefariousOctopus 2015-03-24 23:10:02
我建議定期休息以幫助你的大腦:http://pomodorotechnique.com/:D – Bill 2015-03-24 23:12:13