C++의 초보자로서, 나는 오랜 시간이 시점에서 당황 스럽다. 프로그램은 각 단어가 나타나는 시간을 문자열로 알려주는 것이다. 나는 오랜 검색 후 인터넷에서 어떤 결과를 찾을strcmp (x, str)가 잘못 되었나요?
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
: 여기
#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;
}
는 오류입니다. 이 문제를 어떻게 해결할 수 있습니까?
'y'는 무엇입니까? ..... 또한 std :: string은'std :: strcmp'와 함께 사용할 수 없습니다. – Nawaz
한 단어 : * documentation * ... –
strcmp의 동작이 필요한 경우 문자열 :: compare를 사용하여 문자열을 비교할 수 있습니다. – Cubic