C ++の初心者として、私は長い間この点にとても戸惑っています。プログラムは文字列内の各単語の出現時間を伝えることです。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string x;
vector<string> str;
vector<int> t;
while (cin >> x)
{
int k = 0;
for (int j = 0; j != str.size(); j++)
{
if (strcmp(x,str[j]) == 0)
t[j]++;
k = 1;
}
if (k == 0)
{
str.push_back(x);
t.push_back(1);
}
}
for (int i = 0; i != str.size(); i++ )
{
cout << str[i] << " " << t[i] << endl;
}
return 0;
}
エラーは次のとおりです。
C++\code\3.3.cpp(17) : error C2664: 'strcmp' : cannot convert parameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
久しぶりにインターネットで検索結果が見つかりません。どうすればこれを修正できますか?