【发布时间】:2019-08-29 07:59:08
【问题描述】:
我有这个函数,它将在向量中搜索与借用 ID 匹配的 ID,然后返回具有匹配 ID 的借用者。 但是我一直收到这个警告?
Borrower getborrowerbyID(string ID)
{
for(int i =0; i<Borrowlist.size();i++)
{
if(Borrowlist[i].getID()==ID)
{
return Borrowlist[i];
}
}
}
【问题讨论】:
-
如果
Borrowlist中没有匹配项会怎样?return永远不会被调用,函数将在最后退出循环。您需要找到某种方式向调用代码发出未找到匹配项的信号,并将其返回。 -
顺便说一句,如果您只是在
vector<string>中搜索匹配项,则 STL 中的一些方法可以为您执行此操作。 -
正如史蒂夫指出的那样,如果找不到 ID 会怎样?你最终在函数的末尾没有返回语句。那么函数应该返回什么?另外,请查看In C++ check if std::vector<string> contains a certain value
-
在最后的语句中使用一些
throw。