-4
int main()
{
map<string, int> M;
vector<string> V;
set<string> S;
ifstream inFile("sample_doc.txt");
copy(istream_iterator<string>(inFile), istream_iterator<string>(), back_inserter(V));
ifstream inFile2("stopwords.txt");
copy(istream_iterator<string>(inFile2), istream_iterator<string>(), inserter(S, S.begin()));
for_each(V.begin(), V.end(), [&](string & s){ S.count(s) == 0 ? M[s]++ : true; });
}
in der for_each-Anweisung, wenn ich die Lambda-Funktion oben übergeben, gibt es mir den folgenden Fehler.keine übereinstimmende Funktion für Anruf an, wie man es repariert?
error: no matching function for call to ‘for_each(std::vector<std::basic_string<char> >::iterator, std::vector<std::basic_string<char> >::iterator, main()::__lambda0)’
for_each(V.begin(), V.end(), [&](string & s){ S.count(s) == 0 ? M[s]++ : true; });
kann mir jemand sagen, wie man es repariert? Danke vielmals.
Schließen Sie die '' Kopfzeile ein. –
hallo, ich habe umfassen –
zeyuxie
'ersetzen for_each' mit' std :: for_each' – TheThirdOne