Velvet Star Monitor

Standout celebrity highlights with iconic style.

general

C++ -- expected primary-expression before ' '

Writer 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);

0

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy