2017-08-18 55 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)。 –