web-dev-qa-db-ja.com

C ++-''の前に1次式が必要です

更新:迅速な対応ありがとうございました-問題は解決しました!

C++とプログラミングは初めてで、理解できないエラーに遭遇しました。プログラムを実行しようとすると、次のエラーメッセージが表示されます。

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);
    }    
}
16
LTK

wordLengthFunction()の呼び出しに「文字列」は必要ありません。

int wordLength = wordLengthFunction(string Word);

する必要があります

int wordLength = wordLengthFunction(Word);

21
Omaha

変化する

int wordLength = wordLengthFunction(string Word);

int wordLength = wordLengthFunction(Word);
7
fbafelipe

パラメータを送信するときは、stringの部分を繰り返さないでください。

int wordLength = wordLengthFunction(Word); //you do not put string Word here.
5
crashmstr