Я бы вместо этого возвратил статус успеха и передал бы соответствие через аргумент функции, например:
bool getborrowerbyID(string ID, Borrower& refBorrower)
{
for(int i =0; i<Borrowlist.size();i++)
{
if(Borrowlist[i].getID()==ID)
{
refBorrower = Borrowlist[i];
return true; // signall sucess match found
}
}
return false; // signal falure, ie. no match
}
Теперь вы можете проверить, было ли совпадение одновременно:
if(getborrowerbyID(ID, refBorrower))
{
// ok
}
else
{
// handle error
}