C++ -- expected primary-expression before ' '
Sophia Terry
I am new to C++ and programming, and have run into an error that I cannot figure out. When I try to run the program, I get the following error message:
stringPerm.cpp: In function ‘int main()’:
stringPerm.cpp:12: error: expected primary-expression before ‘word’I've also tried defining the variables on a separate line before assigning them to the functions, but I end up getting the same error message.
Can anyone offer some advice about this? Thanks in advance!
See code below:
#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); }
} 1 3 Answers
You don't need "string" in your call to wordLengthFunction().
int wordLength = wordLengthFunction(string word);
should be
int wordLength = wordLengthFunction(word);
Change
int wordLength = wordLengthFunction(string word);to
int wordLength = wordLengthFunction(word); 0 You should not be repeating the string part when sending parameters.
int wordLength = wordLengthFunction(word); //you do not put string word here. 0