Подтвердить что ты не робот

С++ - ожидаемое первичное выражение перед ''

Обновление: Спасибо всем за ваши быстрые ответы - проблема решена!

Я новичок в С++ и программировании, и я столкнулся с ошибкой, которую я не могу понять. Когда я пытаюсь запустить программу, я получаю следующее сообщение об ошибке:

stringPerm.cpp: In function ‘int main()’:
stringPerm.cpp:12: error: expected primary-expression before ‘word’

Я также попытался определить переменные в отдельной строке, прежде чем назначать их функциям, но в итоге получаю то же сообщение об ошибке.

Может кто-нибудь предложить некоторые советы об этом? Спасибо заранее!

Смотрите код ниже:

#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);
    }    
}
4b9b3361

Ответ 1

Вам не нужно "строка" в вашем вызове wordLengthFunction().

int wordLength = wordLengthFunction(string word);

должен быть

int wordLength = wordLengthFunction(word);

Ответ 2

Изменить

int wordLength = wordLengthFunction(string word);

к

int wordLength = wordLengthFunction(word);

Ответ 3

Вы не должны повторять часть string при отправке параметров.

int wordLength = wordLengthFunction(word); //you do not put string word here.