C++ Erreur: Invalid conversion from 'char' to 'const char*'
Je suis complètement novice en C++ et j'ai créé cette fonction:
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;
}
Mais il revient à la suite error: invalid conversion from 'char' to 'const char*' [-fpermissive]
. Quelqu'un peut-il m'aider à comprendre ce que cela signifie?
Seulement si vous m'aider à comprendre ce
Cela signifie que vous ne pouvez pas convertir à partir d'un char à un const char pointeur. Sur la ligne 23, on passe un char à quelque chose qui s'attend à un const char pointeur.
line 23
moyens.Cela signifie que vous ne pouvez pas convertir à partir d'un char à un const char pointeur. Sur la ligne 23, on passe un char à quelque chose qui s'attend à un const char pointeur.
OriginalL'auteur LazySloth13 | 2013-04-12
Vous devez vous connecter pour publier un commentaire.
compWord[x]
obtientchar
et que vous essayez d'assigner àstring
, c'est faux.Cependant, votre code doit être quelque chose comme
string compLetter = (char*)&compWord[x];
Non, ça va donner un résultat tout à fait différent.
OriginalL'auteur ForEveR
string compLetter = compWord[x];
devrait être
char compLetter = compWord[x];
OriginalL'auteur Manoj Awasthi
Sur cette ligne
Vous êtes l'affectation d'un char à une chaîne.
Changer l'
Devrait faire l'affaire.
OriginalL'auteur SlxS
compWord[x] vous donne la x-ième caractère de la chaîne compWord, qui vous puis d'essayer de les attribuer à une chaîne.
Vous devez comparer deux chaînes de caractères directement, ou parcourir en parallèle et de les comparer, caractère par caractère.
OriginalL'auteur Saanti
Vous pouvez utiliser
std::string::find
pour voir si un personnage est dans lestring
. Si elle ne l'est pas, il retournestd::string::npos
:}
OriginalL'auteur Peter Wood