更新:我的代码有效,此代码之外有问题。
我有两个包含类书籍对象的向量。一个向量有新书,另一个向量包含请求的书。我正在尝试创建一个线性搜索函数来计算两个向量之间匹配书籍的数量。
这是我的线性搜索功能:
int linear(vector<Books> New, vector<Books> Requested){
int matches = 0;
for (int i = 0; i < New.size(); i++){
for (int j = 0; j < Requested.size(); j++){
if (New[i].convstr() == Requested[j].convstr())
matches++;
}
}
cout << matches << endl;
}
我还有一个 convstr() 函数将对象转换为字符串以比较它们(在类 Books 中它是公共的):
string Books::convstr(){
string strisbn;
strisbn = to_string(isbn);
return strisbn + language + type;
}
每当我输入两个向量并尝试打印匹配数时,即使存在匹配,它也总是打印零。