2012-04-08 15 views
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:構文エラー: ';'が見つかりません。 before 'if' シンプルなものが欠けていたのか不思議でした。私はC++にはかなり新しいです。エラーC2143:構文エラー: ';'がありません。 before 'if'

+2

理解できない構文エラーメッセージが表示された場合は、最初にメッセージが消えるまでコードの削除(またはコメントアウト)を開始してください。 –

+0

関数 'int factor(int n)'は、関数 'main()'の中で定義されています。 – Aziz

+3

'main'の前に' factor'を定義し、それを 'factorial'と呼んでください。 –

答えて

3

関数mainの中で関数factorを定義しようとしています。これはC++では許可されていません。また、factorニーズのための関数の本体は、ブレース:あなたが主な機能のうち、因子の機能を取得し、ブレスレット内のコードを配置する必要があり

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

int main() 
{ 
    // function body, factor visible 
} 
+0

ありがとう、私は助けに感謝します! – MIkey27

+2

@ MIkey27:これで問題が解決した場合は、その答えの横にあるチェックマークをクリックしてください。 –

関連する問題