C ++ - expression primaire attendue avant ''
Mise à jour: Merci à tous pour vos réponses rapides -- le problème est résolu!
Je suis novice en C++ et de la programmation, et ont une erreur que je ne peux pas comprendre. Lorsque j'essaie d'exécuter le programme, j'obtiens le message d'erreur suivant:
stringPerm.cpp: In function ‘int main()’:
stringPerm.cpp:12: error: expected primary-expression before ‘word’
J'ai aussi essayé de définir les variables sur une ligne distincte avant de les assigner les fonctions, mais je finis par obtenir le même message d'erreur.
Quelqu'un peut-il vous offrir quelques conseils à ce sujet? Merci à l'avance!
Voir code ci-dessous:
#include <iostream>
#include <string>
using namespace std;
string userInput();
int wordLengthFunction(string word);
int permutation(int wordLength);
int main()
{
string word = userInput();
int wordLength = wordLengthFunction(string word);
cout << word << " has " << permutation(wordLength) << " permutations." << endl;
return 0;
}
string userInput()
{
string word;
cout << "Please enter a word: ";
cin >> word;
return word;
}
int wordLengthFunction(string word)
{
int wordLength;
wordLength = word.length();
return wordLength;
}
int permutation(int wordLength)
{
if (wordLength == 1)
{
return wordLength;
}
else
{
return wordLength * permutation(wordLength - 1);
}
}
source d'informationauteur LTK
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de "chaîne" à votre appel à l'
wordLengthFunction()
.int wordLength = wordLengthFunction(string word);
devrait être
int wordLength = wordLengthFunction(word);
Changer
à
Vous ne devriez pas avoir à répéter les
string
partie lors de l'envoi de paramètres.