1. ホーム
  2. c++

[解決済み] C++エラー。char' から 'const char*' への変換が無効です。

2022-01-28 05:40:46

質問

私はC++の全くの初心者で、この関数を作りました。

bool guessWord(string compWord)
{
    cout << "Guess a letter: ";
    string userLetter;
    cin >> userLetter;
    for (unsigned int x = 0; x < compWord.length(); x++)
    {
        string compLetter = compWord[x];
        if (compLetter == userLetter)
        {
            return true;
        }
    }
    return false;
}

しかし、次のようになります。 error: invalid conversion from 'char' to 'const char*' [-fpermissive] . どなたか、この意味を理解する手助けをしていただけませんか?

どのように解決するのですか?

string compLetter = compWord[x];

compWord[x] ゲット char に割り当てようとしている。 string というのは間違いです。 しかし、あなたのコードは次のようなものであるべきです。

bool guessWord(string compWord)
{
    cout << "Guess a letter: ";
    char userLetter;
    cin >> userLetter;
    for (unsigned int x = 0; x < compWord.length(); x++)
    {
        char compLetter = compWord[x];
        if (compLetter == userLetter)
        {
            return true;
        }
    }
    return false;
}