2017-08-18 13 views
-2

に私はQtのプログラムを実行するたびに見つかりませんでした、それは次のエラーを与える:Findfactorialがこの範囲

Findfactorial was not found in this scope

誰かがなぜ提案してもらえますか?私は私のmainwindow.cpp

int findFactorial(int x){ 
    if(x == 1){ 
     return 1; 
    } else { 
     return x*findFactorial(x-1); 
    } 
} 

mainwindow.hに機能を持っている:

class MainWindow : public QMainWindow 
{ 
    Q_OBJECT 

public: 
    explicit MainWindow(QWidget *parent = 0); 
    bool ok = false; 
    int findFactorial(int x); 
    ~MainWindow(); 

private slots: 

    void on_clear_button_clicked(); 

    void on_sqr_button_clicked(); 

    void on_exp_two_button_clicked(); 

    void on_pi_button_clicked(); 

    void on_ceil_button_clicked(); 

    void on_factorial_button_clicked(); 

private: 
    Ui::MainWindow *ui; 
}; 
+0

恐らく 'Findfactorial'をどこかに書いていますが、この関数は' findFactorial'と呼ばれています(C++は大文字と小文字を区別します)。 –

答えて

2

あなたは明示的にどのスコープ/名前空間は、この関数はスコープ解決演算子を使用して属しないために言っています。

int MainWindow::findFactorial(int x){ 
    if(x == 1){ 
     return 1; 
    } else { 
     return x*findFactorial(x-1); 
    } 
} 
+0

ありがとうございました:) –

+0

喜んで:-)あなたは[ここ(クリック)](http://en.cppreference.com/w/cpp/language/namespace)の詳細について読むことができます。 –