0
    #include <iostream>
    using namespace std;

    int factor(int n);

    int main()
    { 
        int f,n;

    // Get user input

        cout << "Enter an integer: ";
        cin >> n;

    // Call factorial function

        f = factor(n);

    // Output results

        cout << n << "! = " << f << endl;

        int factor (int n)
            if(n <=1)
            {
             return 1;
            }
            else
            {
             int c = n * (n-1);
             return c;
            }
     };

エラー C2143: 構文エラー: ';' がありません。「if」の前に、単純なものが欠けているかどうか知りたいと思っていました。私はC ++にかなり慣れていません。

4

2 に答える 2

3

factorfunction内で関数を定義しようとしていますmain。これは C++ では許可されていません。また、関数本体にfactorは中括弧が必要です。

int factor(int n)
{
    // function body
}

int main()
{
    // function body, factor visible
}
于 2012-04-08T12:45:41.410 に答える
0

factor 関数をメイン関数から取り出し、コードをブレスレット内に配置する必要があります。

于 2012-04-08T12:47:24.193 に答える