我当前正在读取的文本文件中有一个向量。目前,我可以很好地搜索此文本文件,并从每个艺术家那里获得矢量乐队(一个艺术家演奏的乐队列表,之所以是矢量,是因为每个艺术家都有不同数量的乐队演奏)。找到乐队成员后,我想专门从这些艺术家演奏的乐队列表中重新搜索。例如,如果我搜索"Nirvanna"
"Dave Grohl"
就会出现。在他还为foo战士效力时,我想搜索foo战士,而无需返回代码开头
这是收到的错误。
错误C2678:二进制'==':未找到采用
std::basic_string<char,std::char_traits<char>,std::allocator<char>>
类型的左操作数的运算符(或没有可接受的转换)
using namespace std;
string forname;
string surname;
vector <string> band;
vector <string> newband;
string input;
if (find(band.begin(), band.end(), input) != band.end())
{
cout << forname << " " << surname << endl;
cout << "Played for: ";
ostream_iterator<string> output_iterator(cout, " ");
copy(band.begin(), band.end(), output_iterator);
cout << " " << endl;
cout << " " << endl;
newband = band;
}
if (find(band.begin(), band.end(), newband) != band.end())
{
cout << forname << " " << surname << endl;
cout << "Played for: ";
ostream_iterator<string> output_iterator(cout, " ");
copy(band.begin(), band.end(), output_iterator);
cout << " " << endl;
cout << " " << endl;
}
我想用这个新声明的向量搜索原始向量。