1. ホーム
  2. c++

[解決済み] C++ -- ' の前に一次式を置くことが期待されています。

2022-01-28 23:15:30

質問

私は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);
    }    
}

解決方法は?

を呼び出す際に、"string"は必要ではありません。 wordLengthFunction() .

int wordLength = wordLengthFunction(string word);

であるべきです。

int wordLength = wordLengthFunction(word);